redux-toolkit的使用练习

练习版

这个是文件的练习目录结构

创建不含异步的同步修改store模块counterStore.js,initialState中的是数据,reducers中的是方法,方法里传的state是initialState中的数据,action是方法外部传入的参数

创建异步的异步修改的store模块channelStore.js,异步请求部分是dispatch action 更新store数据

1、创建写法保持不变,配置好同步修改状态的方法

2、单独封装一个函数,在函数内部return一个新函数,在新函数中(1)封装异步请求获取数据 (2)调用同步的actionCreater传入异步数据生成一个action对象,并使用dispatch提交

3、组件中dispatch的写法保持不变

异步请求的方法也要导出,同步修改状态的方法可不导出

 这个是store中index.js文件,reducer中是各子模块,最后默认导出store

 

这个是根文件index.js内的写法,引入store,按需引入react-redux中的provider,使用<Provider  store={store}></Provider>包裹<App/>

 

例如在app.js(不仅仅app.js)中使用 ,先导入异步操作的文件channelStore.js中的方法,通过useEffect触发异步执行

useDispatch作用:共享状态,返回Redux的store中对dispatch的引用,可执行redux中的方法

const dispatch=useDispatch()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要安装redux-toolkit,你可以按照以下步骤进行操作: 1. 在你的项目中打开终端或命令行界面。 2. 运行以下命令来安装redux-toolkit: ``` npm install @reduxjs/toolkit ``` 或者如果你使用的是yarn,可以运行以下命令: ``` yarn add @reduxjs/toolkit ``` 3. 安装完成后,你可以在你的代码中引入redux-toolkit的configureStore函数,例如: ```javascript import { configureStore } from '@reduxjs/toolkit'; ``` 4. 接下来,你可以使用configureStore函数来创建和配置你的Redux store。你可以在reducer参数中传入你的reducer函数,或者使用combineReducers函数来合并多个reducer。例如: ```javascript import { configureStore, combineReducers } from '@reduxjs/toolkit'; // 导入你的reducer函数 import counterReducer from './reducers/counterReducer'; import todosReducer from './reducers/todosReducer'; // 合并多个reducer const rootReducer = combineReducers({ counter: counterReducer, todos: todosReducer, }); // 创建Redux store const store = configureStore({ reducer: rootReducer, }); ``` 5. 现在你已经成功安装了redux-toolkit并创建了Redux store,你可以在你的React组件中使用Provider组件来将store传递给你的应用程序。例如: ```javascript import React from 'react'; import { Provider } from 'react-redux'; import store from './store'; import App from './App'; ReactDOM.render( <Provider store={store}> <App /> </Provider>, document.getElementById('root') ); ``` 这样,你就可以在你的React组件中使用Redux store了。 #### 引用[.reference_title] - *1* *3* [redux toolkit 傻瓜教学](https://blog.csdn.net/wangyangnuli/article/details/122520675)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Redux流程分析 传统流程和redux-toolkit使用](https://blog.csdn.net/qq_23539691/article/details/119720636)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值