使用RTK
工具,以网络请求为例
安装命令
npm install @reduxjs/toolkit react-redux
在store
的index.js
文件中
import { configureStore } from '@reduxjs/toolkit'
import homeReducer from './modules/home'
const store = configureStore({
reducer: {
home: homeReducer
}
})
export default store
在index.js
主入口文件中,从react-redux
中导入Provider
import { provider } from "react-redux"
使用store
<Provider store={store}>
<App />
</Provider>
在store
的modules
中配置ruducer
,比如home.js
import { createSlice } from '@reduxjs/toolkit'
const homeSlice = createSlice({
name: "home",
initialState: {
},
reducers: {
}
})
export default homeSlice.reducer
不使用RTK
工具
在store
的modules
中创建文件夹,以entire
为例
创建四个文件
index.js
reducer.js
const initalState = {}
function reducer(state = initalState, action) {
switch(action.type) {
default:
return state
}
}
export default reducer
createActions.js
constants.js
在store
的index.js
文件中依然可以使用entire
的reducer
import { configureStore } from '@reduxjs/toolkit'
import homeReducer from './modules/home'
const store = configureStore({
reducer: {
// 通过createSlice
home: homeReducer,
// 通过自己配置
entire: entireReducer
}
})
export default store