21 lines
854 B
TypeScript
21 lines
854 B
TypeScript
import { configureStore } from '@reduxjs/toolkit';
|
|
import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux';
|
|
import { counterSlice } from './components/steps';
|
|
import authReducer from './features/auth/authSlice';
|
|
import appStateReducer from './features/appState/appStateSlice';
|
|
|
|
export const store = configureStore({
|
|
reducer: {
|
|
counter: counterSlice.reducer,
|
|
auth: authReducer,
|
|
appState: appStateReducer
|
|
},
|
|
});
|
|
|
|
// 从 store 本身推断 `RootState` 和 `AppDispatch` 类型
|
|
export type RootState = ReturnType<typeof store.getState>;
|
|
export type AppDispatch = typeof store.dispatch;
|
|
|
|
// 在整个应用中使用,而不是简单的 `useDispatch` 和 `useSelector`
|
|
export const useAppDispatch: () => AppDispatch = useDispatch;
|
|
export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector; |