转换为configureStore Redux Toolkit后使用选择器时出现问题



我刚刚将reducer从createStore转换为configuration store,现在我认为应该工作的选择器没有工作。

配置下方的存储

import { Dispatch } from 'react';
import { Action, configureStore } from '@reduxjs/toolkit';
import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux';
import logger from 'redux-logger';
import {
testReducer,
} from './reducers';
const rootReducer = () => ({
testReducer
});
export const store = configureStore({
reducer: rootReducer,
devTools: process.env.NODE_ENV !== 'production',
middleware: getDefaultMiddleware => getDefaultMiddleware().concat(logger),
});
export type RootState = ReturnType<typeof store.getState>;
export type AppDispatch = typeof store.dispatch;
export const useAppDispatch = (): Dispatch<Action<any>> => useDispatch<AppDispatch>();
export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector;

选择器

export const getTest = (state: RootState) => state.testReducer.test;

错误

Property 'test' does not exist on type 'ReducerWithInitialState<TestState>'.ts(2339)

如果我在选择器中的testReducer.之后添加getInitialState(),错误似乎会消失,但这似乎不正确。

您拥有的rootReducer有一个函数,它返回一个带有减缩符的对象,这是错误的。相反,只需将其作为一个对象。

const rootReducer = {
testReducer
};

最新更新