【发布时间】:2021-08-10 00:21:57
【问题描述】:
在一个新的 RN 应用程序的主干上工作时,我发现自己处于以下代码状态:
-
src/redux/index.ts(创建和导出商店)将rootReducer文件导入到configureStore。
const persistedReducer = persistReducer(persistConfig, rootReducer);
const store = configureStore({
reducer: persistedReducer,
/* middleware definitions */
});
-
rootReducer导入userReducer以使用combineReducers将其添加到减速器列表中。
const rootReducer = combineReducers({
/* some reducers */
user: userReducer,
});
-
userReducer导入serverApi以便能够使用 thunk 进行 api 调用。
export const registerUser = createAsyncThunk(
'user/register',
async ({ country, number }: loginDataType) => {
const response = await serverApi.post('/register', { country, number });
return response.data;
},
);
-
serverApi导入store以从用户那里获取token并将其设置在 Axios 拦截器中。
instance.interceptors.request.use(
async config => {
const { token } = store.getState().user;
if (token) {
config.headers.Authorization = `Bearer ${token}`;
}
return config;
},
);
正如我所说,商店在src/redux/index.ts 中导出。你去吧,这就是循环。 React 给我一个警告,比如,拜托,不要那样做。我哪里出错了,或者我可以做些什么不同的事情?
【问题讨论】:
标签: reactjs react-native react-redux redux-thunk