我们使用react-redux,并在reducer.js中设置了authUser
case types.AUTH_SET_USER:
localStorage.setItem('authUser', JSON.stringify(payload))
return {
...state,
user: payload,
}
当我尝试在useEffect中使用变量时收到此错误
警告:useEffect收到的最后一个参数不是数组(而是object
)。如果指定,则最后一个参数必须是数组。
我的代码工作,但它返回一个警告错误在控制台:
const userAuth = JSON.parse(localStorage.getItem('authUser'))
useEffect(() => {
someSetFunction(userAuth))
}, userAuth)
我已经试过这个了,console.log(userAuth)返回null:
const [userAuth] = useState(JSON.parse(localStorage.getItem('authUser')))
useEffect(() => {
someSetFunction(userAuth))
}, [userAuth])
2条答案
按热度按时间a0x5cqrl1#
如何使用本地存储和钩子的好例子:
https://usehooks.com/useLocalStorage/
bbmckpt72#
我设法解决了这个问题,谢谢你们回答我的问题,这是我所做的。
我在useEffect中使用选择器。