小编Bru*_*lli的帖子

在 React 组件/redux 工具包之外的函数中使用 useDispatch

我需要帮助来解决这个错误:

“在既不是 React 函数组件也不是自定义 React Hook 函数的函数中调用 useDispatch”。

解释:

store.jsuserSlice.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)

reactjs react-redux

2
推荐指数
1
解决办法
7248
查看次数

标签 统计

react-redux ×1

reactjs ×1