Skip to content

Commit 4425c1e

Browse files
committed
add usePrevious
1 parent f196344 commit 4425c1e

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

usePrevious.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
const usePrevious = (value) => {
2+
const ref = React.useRef();
3+
React.useEffect(() => {
4+
ref.current = value;
5+
});
6+
return ref.current;
7+
};
8+
9+
// Usage
10+
11+
const Counter = () => {
12+
const [value, setValue] = React.useState(0);
13+
const lastValue = usePrevious(value);
14+
15+
return (
16+
<div>
17+
<p>
18+
Current: {value} - Previous: {lastValue}
19+
</p>
20+
<button onClick={() => setValue(value + 1)}>Increment</button>
21+
</div>
22+
);
23+
};

0 commit comments

Comments
 (0)