【发布时间】:2021-11-17 18:31:42
【问题描述】:
const [isToSave, setisToSave] = React.useState(false)
const myStateRef = React.useRef(isToSave);
React.useEffect(() => {
window.addEventListener('set-is-to-save', () => {
setisToSave(!myStateRef.current)
}, false);
return () => {
window.removeEventListener('set-is-to-save', () => {
setisToSave(!myStateRef.current)
});
}
}, [])
function handleOnClick(e: React.MouseEvent<HTMLDivElement>): void {
myStateRef.current=!isToSave
setisToSave(myStateRef.current)
}
handleOnClick 函数由 onClick 为其中一个组件调用,它似乎工作正常。但是,每当我尝试使用事件触发器更改独立组件的状态时,isToSave 的状态都不会改变。
【问题讨论】:
标签: javascript reactjs react-hooks tsx