我遇到错误Cnnot destruct属性“status”of“(0,react_redux__WEBPACK_IMPORTED_MODULE_1__.useSelector)(...)”,因为它未定义。
我试图用“吐司”来处理来自服务器的错误,但是当我在RegisterPage.jsx中编写这段代码时,页面甚至没有为我打开。
RegisterPage.jsx
const { status } = useSelector(state => state.auth )
useEffect(() => {
if (status) {
toast(status)
}
}, [status])
store.js
export const store = configureStore({
reducer:{
auth: authSlice
},
})
authSlice.js
const initialState = {
user: null,
token: null,
isLoading: false,
status: null,
}
2条答案
按热度按时间lymnna711#
您可以通过执行以下操作来解决此问题
最有可能的情况是,你在严格模式下运行react,它在严格模式下渲染两次/多次。所以,在第一次渲染时,你会在这些渲染结束时收到
undefined
,你会得到正确的值。此外,它运行两次/多次来检测副作用,它可以通过使其更具确定性来帮助您发现错误。
zujrkrfu2#
看起来,注册切片时出现了问题。用下面的代码更改代码并测试。
Slice.js
state.auth
没有返回任何东西。