当前位置: 首页 > news >正文

react学习——react-redux

1.安装依赖

npm i @reduxjs/toolkit react-redux

2.index.js

需要从react-redux中引入Provider的组件,用于提供一个上下文环境,包裹应用的跟组件,之后引入仓库,仓库会作为Provider的store属性

//1. 引入Provider
import { Provider } from "react-redux"
//2. 使用Provider组件包裹跟组件
root.render(<Provider><App></Provider>
)
//3.引入store
import store from "./redux/store"
//4. 在provider上创建store属性
root.render(<Provider store={store}><App></Provider>
)

3.创建store

从 toolkit中引入configStore,用于创建数据仓库

store.js
-----------------------------------------------------------
import {configStore} from "@reduxjs/toolkit"
import todoReducer from "./todolistSlice"
//创建仓库
export default configStore({//配置项reducer,用于计算reducer:{todo:todoReducer}
})
todolistSlice.js
-----------------------------------------------------------
//创建一个切片
import {createSlice} from "@reduxjs/toolkit"
export const todolistSlice = createSlice({//命名name: 'todoList',//初始化仓库数据initState:{list: []},//reducerreducer:{// state:仓库数据,payload传递过来的数据add(state,{payload}){state.list.push({content: payload,status: false})},del(state,{payload}){},change(state,{payload}){}}
})
//导出actions
export const {add,del,change} = todolistSlice.actions
//导出reducer,需要在store.js中的reducer使用
export default todolistSlice.reducer

4.组件连接仓库(获取数据)

使用useSelector 这个hook直接连接

import { useSelector } from 'react-redux';
//这里拿到的todo,就是直接指向todoList文件中的reducer
const list = useSelector((state)=>state.todo)

5.组件派发action(修改数据)

通过useDispatch获取,action直接从切片slice导出即可

//1.引入dispatch这个hook
import { useDispatch } from 'react-redux';
//2. 引入切片中的action
import {add} from "../redux/todolistSlice"
dispatch = useDispatch()
//3.派发修改
dispatch(add('你需要修改的内容'))
http://www.dtcms.com/a/451153.html

相关文章:

  • 国内ui设计公司seo入门视频
  • 提供网站建设工具的品牌江安网站建设
  • 建筑设计找工作的网站上海装修公司排名有哪些
  • 正定seo绍兴seo计费
  • 面试经典150题[046]:存在重复元素 II(LeetCode 219)
  • dede网站如何换logo网站开发需要哪些证书
  • 静态企业网站模板下载网上书店网站建设毕业设计
  • 网站推广策划书 精品中信建设有限责任公司客户
  • cv领域接地气的方向
  • 快速网站开发介绍浙江建设网查询
  • 整站优化快速排名广州手机网站建设公司哪家好
  • 在线动画手机网站模板360推广登录入口官网
  • 设计网站推荐语长治企业网站建设
  • 网上做调查网站做短袖的网站
  • 想推网站目录源码宛城区网站推广
  • php手机网站后台源码电子商务有限公司有哪些
  • 工厂外贸网站建设ps怎么做网站logo
  • 恩平市网站建设国外设计网站网址
  • 广州网站服务涟源seo快速排名
  • IEEE/ASME Transactions on Mechatronics投稿流程和注意事项
  • 太原做企业网站现在去横琴会变黄码吗
  • TensorFlow深度学习实战(39)——机器学习实践指南
  • Python函数参数设计的实战逻辑
  • 网站设计字体最好用外网服务器租用
  • 关于药品网站建设策划书淘宝分销平台
  • 网站dw建设凯里门户网
  • Flash擦写均衡攻略:让嵌入式设备的时间记录更长寿
  • 快速了解并使用Matplotlib库
  • 潍坊模板建站平台销售人员培训课程有哪些
  • 哪些网站可以找到做海报的素材网页设计与网站建设电话