首页 > 解决方案 > Redux 接受了组件外部的访问存储值

问题描述

如何访问redux-toolkit storeReact 组件之外的变量?在 React 组件中,我可以使用

import { useSelector } from 'react-redux';    
const isAuthenticated: boolean = useSelector(
        (state: RootState) => state.user.isAuthenticated,
      );

因为 useSelector 不允许在 React 之外访问。或者我应该在 React 组件中调度时传递变量吗?createAsyncThunk我需要API 调用中的访问变量

标签: reduxredux-toolkit

解决方案


createAsyncThunk将传入一个thunkApi对象作为有效负载创建者回调的第二个参数,您可以在该对象上调用该getState方法。

const fetchUserById = createAsyncThunk(
  'users/fetchByIdStatus',
  async (someArg, thunkApi) => {
    const state = thunkApi.getState()

    // whatever logic you need.

    const response = await userAPI.fetchById(someArg)
    return response.data
  }
)

推荐阅读