在scr下创建store:
1. 新建store/action/user.ts
2. 新建store/reducer/user.ts
3. 新建store/reducer/index.ts :合并reducer
4. store/index.ts 创建store:连接调试工具
5. Provider连接React和Redux
const initialState = {
name: '123', //示例
};
// 2.创建reducer,💥 不解构action
export default function userReducer(state = initialState, action: any) {
switch (action.type) {
default:
return state;
}
}
import { combineReducers } from 'redux';
import userReducer from './user';
// 3. 合并reducer
const rootReducer = combineReducers({
user: userReducer,
});
export default rootReducer;
import { applyMiddleware, createStore } from 'redux';
import { composeWithDevTools } from 'redux-devtools-extension';
import thunk from 'redux-thunk';
import rootReducer from './reducer';
// 4. 创建store:设置中间件和调试工具
const store = createStore(rootReducer, composeWithDevTools(applyMiddleware(thunk)));
export default store;
import React from 'react'
import ReactDOM from 'react-dom'
import { Provider } from 'react-redux'
import App from './App'
import store from '@/store'
// 5. 连接React
ReactDOM.render(<Provider store={store}>
<App />
</Provider>, document.getElementById('root'))