React FC 组件怎么跟踪 props 或 state 变化呢?记录前一个值

FC 函数组件怎么实现 class 组件的 componentDidUpdate 的功能呢?

reactjs
149 views
Comments
登录后评论
Sign In
·

自己写一个 hook:

export function usePrevious<T>(value: T) {
  const ref = useRef<T>();
  useEffect(() => {
    ref.current = value;
  }, [value]);
  return ref.current;
}

使用:

const Index = (props) => {
  const prevProps = usePreVious(props);

  useEffect(() => {
    // do something
  }, [props, prevProps]);
  
  return <div/>;
};

这个网站上有很多 hook 的例子,可以学习一下。