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

海口建站模板厂家寺庙网站模板

海口建站模板厂家,寺庙网站模板,做金融网站,搭建网站架构怎么做store.dispatch(action对象) 在 dispatch 中调用 action 方法返回 action 对象 // /actions/index.js /*** Action:* action本质上是一个 JS 对象;* 必须要包含 type 属性,否则会报错;* 只描述了有事情要发生&#xff0c…
  1. store.dispatch(action对象)

    • 在 dispatch 中调用 action 方法返回 action 对象

      // '@/actions/index.js'
      /*** Action:*    action本质上是一个 JS 对象;*    必须要包含 type 属性,否则会报错;*    只描述了有事情要发生,但并没有描述要如何更新 store 中 state*/
      const action_one = (payload) => {reurn {type:'type1', ...payload}
      }
      module.exports = {action_one,
      }
      
  2. reducer 中处理传过来的 action 并更新 store 数据

    • 通过 action 中 的 type 来在 switch 中匹配对应的逻辑处理 ↓

    • 逻辑处理完之后 return 更新最新的 store 数据 ↓

    • store.subscribe(()=>{}) 回调中就可以通过 store.getState() 取到最新的 store 数据

    // '@/reducer/index/js'
    /*** Reducer:*    本质是一个函数*    用来响应发送过来的 action*    函数接收两个参数:初始化的 state、发送过来的 action*    必须要有 return 返回值,否则 state 得不到更新后的值*      【注意】return 的对象是更新后的 store 中 state 数据*/
    const defaultState = {value: 'state初始值'
    }
    const reducer_one = (state = defaultState, action) => {switch(action.type){case 'type1':return {...state, ...action}case 'type2':return {...state, ...action}default:return state}
    }module.exports = {reducer_one,
    }
    
  3. 通过 createStore() 创建一个 store 来关联 actionreducer ,如何关联?

    • 关联 action :store.dispatch(action对象)

      import { action_one } from '@/actions/index.js'
      store.dispatch(action_one()) // 注意:此处需要调用 action 函数,要用的是返回的带有type的对象
      // action 函数调用返回action对象时,可以向action函数中传入别的数据,这样在返回action对象时将所传参数一起返回到action对象
      store.dispatch(action_one({cs:'测试'}))
      
      // 组件中展示(点击按钮前store中没有cs属性,页面展示“暂无”,点击按钮之后store中添加了cs属性,页面展示 “111”)
      import React from 'react'
      import store from '@/store/rumen'
      import { action_one } from '@/action/rumen'
      export default class Home extends React.Component {handlerClick() {// dispatchstore.dispatch(action_one({ cs: 111 }))}componentDidMount() {store.subscribe(() => {// 想要 store 中的 state 更改之后在页面进行展示,需要执行 this.setState({}) 此处不需要更改当前页面 state 传 {} 就可以this.setState({})})}render() {return (<><button onClick={this.handlerClick.bind(this)}>点击按钮</button><span>{store.getState().cs || '暂无'}</span></>)}
      }
      
    • 关联 reducer:createStore(reducer函数)

      /*** Store*    通过 createStore 来构建 Store;*    通过 subscribe 注册监听(监听 store 中 state 是否变化),组件销毁时取消监听*    通过 dispatch 发送 action* 【作用】*    将 action 与 reducer 关联在一起*/
      import { createStore } from 'redux'
      import { reducer_one } from '@/reducer/index.js'
      export default createStore(reducer_one) // 注意:需要将创建的store进行导出,别的文件才能用到
      
http://www.yayakq.cn/news/302231/

相关文章:

  • 阳江网梁国燊事件长沙网站优化方式
  • 陕西省建设银行网站emloh转wordpress
  • 宁夏建设工程招标投标信息管理中心网站广州科 外贸网站建设
  • 郑州做设计公司网站厦门谷歌seo公司
  • 网站平台建设合同模版汽车营销策划方案ppt
  • 网站设计需要哪些技术手机版oa
  • 图书馆网站的建设的重要性物业管理系统和物业管理软件
  • 合肥市做网站多少钱dedecms网站模板下载
  • 织梦招商加盟网站源码域名备案的价格
  • 成都哪家公司做网站比较好公司网页制作
  • 做良心网站怎么样用手机做网站关键词
  • 阿里云做网站多少钱外贸网站有必要吗
  • 杭州网站建设网络网站iis配置
  • 算命网站该怎样做wordpress标签 分类
  • 前端只是做网站吗海门建设局网站
  • 电子商务网站建设侧重哪几个方面镇江高端网站建设
  • 小红门网站建设seo研究院
  • 电子商务系统 网站建设简述电子商务网站的开发流程
  • 医院门户网站建设基因网站开发
  • 编写网站程序建筑有限公司
  • 英文网站设计技术服务葫芦岛做网站价格
  • 网站中微信公众号链接怎么做物流公司电话上门取货便宜
  • 重庆建设工程造价信息网站余江区建设局网站
  • 做视频图片博客网站中国拟在建项目网
  • 网站报错500痘痘该怎么去除效果好
  • 多人一起做视频网站网站开发禁止下载功能
  • 网站维护一年一般多少钱专业的盐城网站开发
  • 特价流量网站厦门的一个做设计的网站
  • 发布一个网站要多少钱nodejs适合网站开发
  • 做平行进口的汽车网站同城约会软件哪个好