react 函数组件使用usestate 数据不同步问题

react usestate数据不同步

const [data, setData] = useState<MenuDataType>({menuid:''})


setData({menuid:'2'})
console.log(data) //{menuid:''}

解决方法 useRef

let dataRef = useRef(data);
setData({menuid:'2'})
dataRef.current=data

console.log(dataRef.current) //{menuid:''}
 setTimeout(()=>{
console.log(dataRef.current) //{menuid:'2'}
},100)

必要要在异步操作里执行才可以,没看源码 不知道为啥,仅供参考

你可能感兴趣的:(react.js,javascript,前端)