我使用 useRef 钩子创建了一个名为:useValue 的自定义钩子,如下所示:
import {useRef} from 'react';
const useValue = <T extends any>(initialValue: T): [T, (value: T) => void] => {
const ref = useRef<T>(initialValue);
const setValue = (value: T) => {
ref.current = value;
};
return [ref.current, setValue];
};
export default useValue;
但是当我使用它时,该值没有更新,为什么?
设置ref.current
不会触发 react 中的渲染。
您编写的钩子似乎与内置的钩子相同useState
因此最好使用它。