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

网站空间速度快塑胶材料东莞网站建设

网站空间速度快,塑胶材料东莞网站建设,湘潭做网站公司,合肥建设网络网站网站react-redux是react插件 将所有组件分成两大类#xff1a;UI组件和容器组件 安装npm install react-redux -S UI组件#xff1a; 只负责UI的呈现#xff0c;不带有任何业务逻辑不使用this.state所有数据都由this.props提供不使用任何Redux的API#xff0c;不需要使用store … react-redux是react插件 将所有组件分成两大类UI组件和容器组件 安装npm install react-redux -S UI组件 只负责UI的呈现不带有任何业务逻辑不使用this.state所有数据都由this.props提供不使用任何Redux的API不需要使用store 容器组件 负责管理数据和业务逻辑不负责UI的呈现带有内部状态使用Redux的API 组件结构 用容器组件包裹UI组件容器组件负责与外部的通信将数据传给UI组件UI组件渲染出视图connect函数(来自react-redux插件)连接React组件与React store 关键字 connectProvider App修改为UI组件 index.js import ReactDOM from react-dom import App from ./App import { createStore } from redux import { counter } from ./redux/reducers import { Provider } from react-reduxconst store createStore(counter) ReactDOM.render(Provider store{store}App //Provider,document.getElementById(root) )App.jsx import React, { Component, createRef } from react import { connect } from react-redux import * as actions from ./redux/action class App extends Component {constructor(props) {super(props)this.selectRef createRef()}compute (method) {const selectDom this.selectRef.current,selectVal Number(selectDom.value);// 使用传入的props.actions this.props[method](selectVal)}render() {// 将App改造为UI组件const { count } this.propsconsole.log(【app】, this)return (h1数值{count}/h1select ref{this.selectRef}option value11/optionoption value22/optionoption value33/option/selectnbsp;button onClick{() this.compute(add)}/buttonnbsp;button onClick{() this.compute(minus)}-/buttonnbsp;button onClick{() this.compute(add_odd)}奇数加/buttonnbsp;button onClick{() this.compute(add_delay)}延迟加/button/)} } // 用connect函数处理App再暴露出去 export default connect(state ({count: state // 这里的state是从redux容器中获取到的数据}),{ ...actions }// 要解构出来否则props里拿不到// 这样即可在App这个UI组件里通过this.props.actions来使用 )(App)connect方法接收2个参数 函数mapStateToProps建立state对象到props对象的映射关系 redux store里的state可以通过UI组件的props获取mapDispatchToProps建立一个store.dispatch方法到props对象的方法 redux里面action creators创建的函数可以通过props获取 使用中间件 reducer纯函数只承担计算state的功能 view与state意义对应 action存放数据的对象只能被别人操作 同步action发出后reducer立即计算出state 异步action发出后过段时间再执行reducer 中间件一个函数对store.dispatch方法进行改造在发出action和执行reducer两步之间添加了其他功能 index.js引入中间件 import ReactDOM from react-dom import App from ./App // 引入中间件 import { createStore, applyMiddleware } from redux import thunk from redux-thunk import { counter } from ./redux/reducers import { Provider } from react-reduxconst store createStore(counter, applyMiddleware(thunk)) ReactDOM.render(Provider store{store}App //Provider,document.getElementById(root) ) reducer.js只有同步方法 export function counter(state 0, action) {const { type, data } actionswitch (type) {case add:return state datacase minus:return state - datacase add_odd:if (data % 2 ! 0) {return state data}// 这里面没有异步方法default:return state} }action.js (增加异步方法) export function add(param) {return {type: add, // 方法名data: param // 对应参数} } export function minus(param) {return {type: minus,data: param} } export function add_odd(param) {return {type: add_odd,data: param} } // 改造成异步action export function add_delay(param) {return dispatch {setTimeout(() {dispatch(add(param))}, 1000)} }
http://www.pierceye.com/news/816590/

相关文章:

  • 江门网站建设策划什么是网络营销职能
  • 北京网站托管毕设做网站是不是太low
  • 企业网站建设费用属管理费用吗重庆网站建设制作设计公司哪家好
  • 深圳营销型网站需要多少钱做网站个体户经营范围
  • php 手机网站 上传图片晋州做网站的联系电话
  • 云天下网站建设做抖音seo排名软件是否合法
  • 网站开发合同管辖权异议龙岩网上办事大厅官网
  • 建网站费用明细海口建设网站
  • 网站页面设计说明怎么写影视小程序源码
  • 传媒网站制作网站申请建设
  • 前端做项目的网站新密市城乡建设局网站
  • 网站app建设方案智能外呼系统
  • 创建网站免费注册wordpress 熊掌号代码
  • 的广州建网站的公司黄山市网站建设
  • 做网站外包需要提供什么登录百度账号
  • 网站备案要买备案号西安鑫瀚通网站建设
  • 做网站的公司违约怎么处理免费免费网站模板
  • 动漫网站建设方案项目书目录做网站站长先把作息和身体搞好
  • 网站建设说明书网页制作成品图加代码
  • 中国网站设计师联盟福州网站大全
  • 香奈儿网站建设竞价培训
  • 毕业设计做网站的步骤电脑培训学校在哪里
  • 怎样在网站图片上做店铺广告公司名logo设计图片
  • 做ic什么网站好攀枝花三线建设网站
  • 台州市网站建设东莞网站策划
  • 网站建设响应技术wordpress502
  • 开个捕鱼网站怎么做网络销售面试问题有哪些
  • 外国纪录片网站机场建设海外seo是什么
  • 一个服务器做多个网站微信商城和网站建设
  • 网站的基本类型地推平台