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

博物馆装饰设计公司aso推广优化

博物馆装饰设计公司,aso推广优化,win8平板做网站服务器,网站收录了被人为删了怎么办Redux 数据仓库 解决React 数据管理#xff08;状态管理#xff09; #xff0c;用于中大型#xff0c;数据比较庞大#xff0c;组件之间数据交互多的情况下使用。 作者#xff1a;如果你不知道是否需要使用Redux,那么你就不需要它#xff01; 解决组件的数据通信。 …Redux 数据仓库 解决React 数据管理状态管理 用于中大型数据比较庞大组件之间数据交互多的情况下使用。 作者如果你不知道是否需要使用Redux,那么你就不需要它 解决组件的数据通信。 解决书和交互 较多的应用。 关键点 Store: 数据仓库保存数据的地方。 State :state 是一个对象数据仓库里的所有数据都放到1个state里。 Action : 1 个动作 触发数据改变的方法。 Dispatch : 将动作触发成方法 Reducer 是一个函数通过获取动作改变数据生成一个新state. 从而改变页面。 案例 点击加减事件控制仓库的数据变化 第一种 1. 安装 redux npm install redux --save2. 引入 // 引入仓库和 解构创建仓库的方法import Redux , {creatStore, createStore} from redux 这个例子只用了这一个 createStore 3. 根据业务逻辑创建函数 // 2. 创建函数 通过动作 用于创建新的state 参数传入需要修改的数据 和方法 (形参) const reducer function(state { num: 0 }, action ){switch(action.type){case add_ :state.num;break;case decrement_ :state.num--;break;default:break;}return {...state} // 解构每次生成新的数据 返回 }4. 创建仓库 把业务函数放入仓库 const store createStore(reducer) //1. 创建仓库 放置要给函数专门用于管理状态5 两个点击事件 function add(){//通过仓库的方法 dispatch 进行修改数据store.dispatch({type:add_ ,name:lyx}) //传递数据到第二步 创建的函数中 -action中console.log(store.getState());}function decrement(){//通过仓库的方法 dispatch 进行修改数据store.dispatch({type:decrement_})console.log(store.getState()); }6 使用仓库数据的面板 组件 const Counter function(props){return (divh1计数数量{ store.getState().num }/h1button onClick {add}计数/buttonbutton onClick {decrement }计数--/button/div)}数据修改后监听 和渲染页面 store.subscribe((){//监听数据变化 重新渲染 react时单向数据流ReactDOM.render( App/App ,document.getElementById(root)); })完整代码 App.js import React from react; // import ReactDOM from react-dom;// 引入仓库和 解构创建仓库的方法 import Redux , {creatStore, createStore} from redux // 2. 创建函数 通过动作 用于创建新的state 参数传入需要修改的数据 和方法 (形参) const reducer function(state { num: 0 }, action ){ console.log(action);switch(action.type){case add_ :state.num;break;case decrement_ :state.num--;break;default:break;}return {...state} // 解构每次生成新的数据 返回 }const store createStore(reducer) //1. 创建仓库 放置要给函数专门用于管理状态function add(){//通过仓库的方法 dispatch 进行修改数据store.dispatch({type:add_ ,name:lyx}) //传递数据到第二步 创建的函数中 -action中console.log(store.getState());}function decrement(){//通过仓库的方法 dispatch 进行修改数据store.dispatch({type:decrement_})console.log(store.getState()); }// 函数式的计数器const Counter function(props){return (divh1计数数量{ store.getState().num }/h1button onClick {add}计数/buttonbutton onClick {decrement }计数--/button/div)}class App extends React.Component {render(){return( div id app 我是 app组件Counter/Counter/div) }}export {App ,store } index.js import React from react; import ReactDOM from react-dom; import Redux , {creatStore, createStore} from redux import {App ,store } from ./App;ReactDOM.render( App/App ,document.getElementById(root));store.subscribe((){//监听数据变化 重新渲染 react时单向数据流ReactDOM.render( App/App ,document.getElementById(root)); }) 第二种 react-redux 概念 Provider组件 自动将store里的state和组件进行关联。 MapStatetoProps 这个函数用于将store的state映射到组件的 props mapdispatchToProps 将store中的dispatch 映射到组件的props里实现了方法的共享。 Connect 方法 将组件和数据方法进行连接。 案例 和上一个 一样 1 引入包 npm install react-redux --save 2 引入方法 import {createStore} from redux import {Provider, connect } from react-redux 关键点把握 createStore function reducer(state{num:0},action){switch(action.type){case add:state.num;break;default:break}return {...state}}const store createStore(reducer) Provider n. 供应者养家者 自动将store里的state和组件进行关联。 ReactDOM.render(Provider store {store}App/App/Provider,document.getElementById(root)) connect 将组件和数据方法进行连接。 const App connect(mapStateToProps,mapDispatchToProps )(Counter) 3 数据的获取数据的修改 要state映射到组件的props中将修改数据的方法映射到组件的props中。 两个映射函数 //将state映射到props函数 function mapStateToProps(state){return{value:state.num} }//将修改state数据的方法映射到props 默认会传入store里的dispath方法 function mapDispatchToProps(dispatch){return{onAddClick:(){dispatch(addAction)}} } 4 形成新的组件 // 将上面2个方法将数据仓库的state和修改states的方法映射到组件上形成新的组件。const App connect(mapStateToProps,mapDispatchToProps )(Counter) 5 原组件获得方法和属性值 class Counter extends React.Component{render(){//计数通过stroe的state传给props,直接通过props就可以将state的数据获取const value this.props.valueconst onAddClick this.props.onAddClick;// 等同于vuex的 mapMutation mapStatereturn(divh1技术的数量{value}/h1button onClick {onAddClick} 数字1/button/div)} } 完整代码 index.js import React from react; import ReactDOM from react-dom;import {createStore} from redux import {Provider, connect } from react-redux // Provider 渲染标签class Counter extends React.Component{render(){console.log(this);//计数通过stroe的state传给props,直接通过props就可以将state的数据获取const value this.props.valueconst onAddClick this.props.onAddClick;// 等同于vuex的 mapMutation mapStatereturn(divh1技术的数量{value}/h1button onClick {onAddClick} 数字1/button/div)} }const addAction {type:add}function reducer(state{num:0},action){switch(action.type){case add:state.num;break;default:break}return {...state}}const store createStore(reducer)//将state映射到props函数 function mapStateToProps(state){return{value:state.num} }//将修改state数据的方法映射到props 默认会传入store里的dispath方法 function mapDispatchToProps(dispatch){return{onAddClick:(){dispatch(addAction)}} }// 将上面2个方法将数据仓库的state和修改states的方法映射到组件上形成新的组件。const App connect(mapStateToProps,mapDispatchToProps )(Counter)// ReactDOM.render( App/App ,document.getElementById(root));ReactDOM.render(Provider store {store}App/App/Provider,document.getElementById(root)) 稍作注释 import React from react; import ReactDOM from react-dom;import {createStore} from redux import {Provider, connect } from react-redux // Provider 渲染标签// 第一步 构建类组件 目的 可以使用类组件的props class Counter extends React.Component{render(){console.log(this);//计数通过stroe的state传给props,直接通过props就可以将state的数据获取const value this.props.valueconst onAddClick this.props.onAddClick;// 等同于vuex的 mapMutation mapStatereturn(divh1技术的数量{value}/h1button onClick {onAddClick} 数字1/button/div)} }// 第二步 构建业务逻辑 初始化仓库function reducer(state{num:0},action){switch(action.type){case add:state.num;break;default:break}return {...state}}const store createStore(reducer)//将state映射到props函数 function mapStateToProps(state){return{value:state.num} }const addAction {type:add }//将修改state数据的方法映射到props 默认会传入store里的dispath方法 function mapDispatchToProps(dispatch){return{onAddClick:(){dispatch(addAction)}} }// 将上面2个方法将数据仓库的state和修改states的方法映射到组件上形成新的组件。const App connect(mapStateToProps,mapDispatchToProps )(Counter)// ReactDOM.render( App/App ,document.getElementById(root));// Provider 自动将store里的state和组件进行关联。ReactDOM.render(Provider store {store}App/App/Provider,document.getElementById(root)) 本节结束
http://www.dnsts.com.cn/news/1251.html

相关文章:

  • 微信营销软件网站建设直销产业发展论坛
  • 阿里云网站建设好了怎么网络营销分类
  • 邢台吧贴吧seo搜索引擎推广
  • 最牛网站建设是谁google搜索首页
  • 百度网站收入提交网站友情链接购买
  • 直播网站模板怎样做企业推广
  • wordpress 上标 小圆1网络优化培训骗局
  • 网页设计尺寸详解seopeix
  • 有创意的广告上海搜索优化推广
  • 上海昆山网站公司迅雷磁力
  • 基础微网站开发信息跨境电商怎么开店铺
  • 华强北电子网站建设优化法治化营商环境
  • dw如何做网站后台平面设计主要做什么
  • 集约化网站数据库建设规范行业关键词分类
  • 河北提供网站建设公司哪家好上海最近3天疫情情况
  • 全友全屋定制官网网站优化是什么意思
  • wordpress淘宝客建站教程视频体验营销策略
  • 如何查看网站开发公司搜狗营销
  • 苏州品牌网站设计站长工具seo综合查询columbu cat
  • 做黄网站赚钱吗万能优化大师下载
  • 做任务领黄钻的网站seo推广培训费用
  • 论坛网站开发demo东莞网站seo公司哪家大
  • 海外 网站 推广seo搜索优化招聘
  • 建网站卖产品线上平台推广方案
  • joomla适合做什么网站祁阳seo
  • 有域名之后怎么自己做网站营销推广主要包括
  • 上海c网站建设西安做网站的公司
  • 网站流量太高 如何做负载均衡站长工具综合查询官网
  • 徐州网站建设技术托管北京seo优化
  • wordpress 语言插件企业网站优化工具