Reactjs 使用props中的回调缓存依赖项
这里是一些简化的组件,具有两个输入字段和两个不同的处理程序:Reactjs 使用props中的回调缓存依赖项,reactjs,react-hooks,Reactjs,React Hooks,这里是一些简化的组件,具有两个输入字段和两个不同的处理程序: const component = ({ data, onUpdate }) => { const handleChangeName = useCallback(e => { onUpdate({ ...data, name: e.target.value }); }, [data], ); console.log('1 here is data with updated name', d
const component = ({ data, onUpdate }) => {
const handleChangeName = useCallback(e => {
onUpdate({ ...data, name: e.target.value });
}, [data],
);
console.log('1 here is data with updated name', data);
const handleChangeSomeProp = useCallback(anotherProp => {
console.log('2 here is data with empty name', data);
onUpdate({ ...data, anotherProp: anotherProp });
}, [data],
);
... some UI components
}
数据
,第一个字段再次变为空您可以使用
useRef
解决这个问题,但最好修复钩子重新加载过程它认为这是因为它被存储,并且它使用引用uquality来确定是使用新值还是旧值。