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

宜昌做网站公司做网站如何变现

宜昌做网站公司,做网站如何变现,建造师,手把手教建设网站react-redux React Redux 是 Redux 的官方 React UI 绑定库。它使得你的 React 组件能够从 Redux store 中读取到数据&#xff0c;并且你可以通过dispatch actions去更新 store 中的 state 安装 npm install --save react-reduxProvider React Redux 包含一个 <Provider…

react-redux

React Redux 是 Redux 的官方 React UI 绑定库。它使得你的 React 组件能够从 Redux store 中读取到数据,并且你可以通过dispatch actions去更新 store 中的 state

安装

npm install --save react-redux

Provider

React Redux 包含一个 <Provider /> 组件,这使得 Redux store 能够在应用的其他地方使用

改造 index.js 页面,引入Provider

import { Provider } from 'react-redux'
import store from './store'

通过 Provider 组件将 store 放在了全局的组件可以够得到的地方

<Provider store={store} ><TotoList /></Provider>

connect

  1. connect 方法会帮助我们订阅 store ,当 store 中的状态发生更改的时候,会帮助我们重新渲染组件
  2. connect 方法会让我们获取 store 中的状态,将状态通过组件的 props 属性映射给组件
  3. connect 方法可以让我们获取 dispatch 方法

引入connect

import { connect } from 'react-redux'

connect 有两个值,一个是 mapStateToProps ,用于将 state 的数据通过 props 属性映射给组件

const mapStateToProps = state => ({list: state.list
})

一个是 mapDispatchToProps ,让我们获取 dispatch 方法,可以将方法映射组件

const mapDispatchToProps = dispatch => ({handleChangeList(list) {dispatch({type: 'changeList',value: list})}
})

最后指定要映射的组件

connect(mapStateToProps, mapDispatchToProps)(TotoList);

这样我们就能在组件 TotoList 使用属性和方法了

完整代码

import React, { useRef, useState, startTransition } from 'react';
import { connect } from 'react-redux'const TotoList = ({ list, handleChangeList }) => {const inputRef = useRef()const [value, setValue] = useState('')const items = list.map((item, index) => {return (<div key={index}><p>{item}<span onClick={() => handledel(index)}> 删除</span></p></div>)})const handleChange = () => {startTransition(() => {setValue(inputRef.current.value)})}const handleAdd = () => {let newList = [...list]newList.push(inputRef.current.value)handleChangeList(newList)setValue('')}const handledel = (key) => {const newList = [...list]newList.splice(key, 1)handleChangeList(newList)}return (<div><div><input ref={inputRef} value={value} onChange={handleChange} /><button onClick={handleAdd}>新增</button></div>{items}</div>)
}const mapDispatchToProps = dispatch => ({handleChangeList(list) {dispatch({type: 'changeList',value: list})}
})const mapStateToProps = state => ({list: state.list
})export default connect(mapStateToProps, mapDispatchToProps)(TotoList);

http://www.yayakq.cn/news/651765/

相关文章:

  • 建下载网站软件商店电脑版下载
  • 网站开发文档有哪些百度经验网站建设
  • 闵行交大附近网站建设山东省建设监理网站
  • 腾讯云怎么做网站白酒企业网站源码
  • 百度做网站多少钱一年网站建设初期的工作计划
  • 哪个网站可以代做软件个人博客seo
  • 韩国美食做视频网站炒股网站开发
  • 容易被百度收录的网站网站建设那些公司比较好
  • 学校网站建设及使用娱乐网站开发
  • 做电影网站要很大的主机空间吗玉溪市建设厅官方网站
  • 建设一个下载资料的网站多种五屏网站建设
  • 设计师必备的国际设计网站电商网站 设计
  • 网盘 商业网站建设案例课程 下载诸暨做网站广告的电话
  • wordpress not found如何建设和优化一个网站步骤
  • 交通局网站模板太原网站建设王道下拉惠
  • 网站前台建设用到哪些工具河南建筑业城乡建设网站查询
  • 国外毕业设计网站网络优化大师app
  • 怀化二医院网站网站开发技术的现状
  • 简要描述创建商务站点的商务做企业网站需要准备什么
  • 类似稿定设计的网站旅游 网站建设目标
  • 淘客类网站如何做排名网站的建设方式
  • 网站怎么做来流量广告联盟怎么做
  • 体育直播网站建设电商网站会员体制怎么做
  • 网站的注册页面怎么做宣传片拍摄注意事项
  • 网站里怎样做物流跟踪功能免费可商用网站
  • 厦门外贸网站建设报价表郑州做网站
  • 江苏专业做网站的公司哪家好萧山做网站公司
  • 备案网站建设方案德国搜索引擎
  • 做网站内嵌地图wordpress主题拖拽
  • 怎么样提升网站权重永久 网址 免费