我需要帮助来解决这个错误:
“在既不是 React 函数组件也不是自定义 React Hook 函数的函数中调用 useDispatch”。
解释:
store.js和userSlice.js保存了我的 Redux 相关事物(rtk)的定义。
Auth.js旨在保存身份验证/注销功能并保持 redux“用户”存储更新。现在我只有谷歌身份验证,当我调用redirectToGoogleSSO时,它会被验证。
身份验证部分工作完美,我正在正确检索用户信息,但我很难使其更新用户存储。调度(fetchAuthUser())是我收到错误的地方。
Sidebar.js是一个导航侧边栏,它将包含一个用于登录/注销和访问 profile.js 的菜单(尚未实现)。如果我将 Auth 中的所有代码放入侧边栏组件中,身份验证工作和 redux 存储都会被填充,但我想将内容保留在 Auth.js 中,这样我就可以在其他组件中使用它,而不仅仅是在侧边栏中。
//store.js:
import { configureStore } from '@reduxjs/toolkit';
import userReducer from './userSlice';
export default configureStore({
reducer: {
user: userReducer
}
});
Run Code Online (Sandbox Code Playgroud)
//userSlice.js
import { createSlice } from '@reduxjs/toolkit';
import axios from "axios";
export const userSlice = createSlice({
name: 'user',
initialState: {
email: 'teste@123',
name: 'teste name',
picture: 'teste pic',
isAuthenticated: …Run Code Online (Sandbox Code Playgroud)