mirror of
https://github.com/muerwre/muerwre.github.io.git
synced 2025-04-25 02:46:39 +07:00
add new notes, fix gh-pages
This commit is contained in:
parent
2af996c99c
commit
c4c6aa2294
3 changed files with 87 additions and 4 deletions
|
@ -0,0 +1,28 @@
|
|||
```typescript
|
||||
import { useEffect, useRef } from 'react';
|
||||
|
||||
/** Pass dictionary of `props` as argument and it will
|
||||
* tell you, which one changed after rerender.
|
||||
* Use `prefix` to distinguish props of different components.
|
||||
*/
|
||||
export const useWhatsChanged = (
|
||||
props: Record<string, unknown>,
|
||||
prefix = '',
|
||||
) => {
|
||||
const prevProps = useRef(props);
|
||||
|
||||
useEffect(() => {
|
||||
Object.entries(props).forEach(([key, value]) => {
|
||||
if (
|
||||
!Object.prototype.hasOwnProperty.call(prevProps.current, key) ||
|
||||
prevProps.current[key] !== value
|
||||
) {
|
||||
console.log(`${prefix} ${key} has changed`);
|
||||
}
|
||||
});
|
||||
|
||||
prevProps.current = props;
|
||||
}, [props, prefix]);
|
||||
};
|
||||
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue