react中使用redux管理状态流程

1、在项目中安装redux插件

npm install redux -S

2、针对单独的view组件定义store状态存储对象,参数为对状态的更新操作函数

import { createStore } from ‘redux‘;

const reducer = (state = 0, action) => {
  switch (action.type) {
    case ‘INCREMENT‘: return state + 1;
    case ‘DECREMENT‘: return state > 0 ? state - 1 : state;
    default: return state;
  }
};

const store = createStore(reducer);
export default store;

3、在view组件中引入store状态存储对象,并且在constructor中监听状态的变化,更新view上的数据

import React, { Component } from ‘react‘;

import store from ‘./store‘;  //引入状态对象

class App extends Component {
  constructor(props){
    super(props);
    this.state = {
      count:store.getState()   //获取状态数据
    }
    store.subscribe(() => {   //监听状态变化更新数据
      this.setState({
        count:store.getState()
      })
    })
  }

  onIncrement = () => {  //分发状态更新
    store.dispatch({
      type:‘INCREMENT‘
    })
  }

  onDecrement = () => { //分发状态更新
    store.dispatch({
      type:‘DECREMENT‘
    })
  }

  render() {
    return (
      <div>
          <h1>{this.state.count}</h1>   <!--展示数据-->
          <button onClick={this.onIncrement}>+</button>
          <button onClick={this.onDecrement}>-</button>
      </div>
    );
  }
}
export default App;

原文地址:https://www.cnblogs.com/zhang134you/p/10616718.html

时间: 2024-09-29 09:26:23

react中使用redux管理状态流程的相关文章

react系列(五)在React中使用Redux

上一篇展示了Redux的基本使用,可以看到Redux非常简单易用,不限于React,也可以在Angular.Vue等框架中使用,只要需要Redux的设计思想的地方,就可以使用它. 这篇主要讲解在React中使用Redux,首先是安装. 安装React Redux yarn add redux yarn add react-redux 有两个概念: 1.容器组件(Container Components) 2.展示组件(Presentational Components) 展示组件 更关注数据展示

angular8 + redux 管理状态

1. angular8.1.1 ----- package.json { "name": "angular-demo", "version": "0.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build"

在React中使用Redux

修复遗留问题 webpack.prod.config.js中缺少了对path库的引用,执行构建npm run build:prod的时候失败.在文件开始的地方引入node.js的path库就可以了. package.json里面定义了一个build:dev的脚本,这个脚本其实有点多余,不过有时候需要打包测试版本的文件,所以还是需要存在.主要有个问题是webpack.dev.config.js中output节点下错误定义了path的值为根目录'/',这在使用npm start命令启动运行时打包的时

在React中使用Redux数据流

问题:数据流是什么呢?为什么要用数据流? 答案:1.数据流是我们的行为与相应的抽象 2.使用数据流帮助我们明确了行为的对应的响应 问题: React与数据流的关系 1.React是纯 V 层的前端框架.需要数据流进行支撑 主流的数据流框架/为什么需要使用Redux Flux / reFulx / Redux 原文地址:https://www.cnblogs.com/chen-cheng/p/9916405.html

vuex 管理状态

来分析下vuex的管理状态吧,如果你用过react中的redux的管理树,那我觉得vuex对你来说很容易掌握 如果你还是不太熟悉vuex是什么,那先看下官网https://vuex.vuejs.org/zh-cn/intro.html, 看下这张图: 下面就举个例子会比较容易理解: 就拿vue的分页组件来理解吧 1. 创建 pagination.vue 文件. <template> <div class="page-wrap"> <ul v-show=&q

react中redux的理解

定义 redux可以看作是flux的进阶版,主要用于react中公共状态(数据)的管理 redux底层原理 redux有一个createStore方法,这个方法用户创建公共存储空间,createStore方法接收一个纯函数作为作为参数,在纯函数中处理数据并返回处理后的数据.当createStore方法执行完成后会返回一个store对象,这个对象内提供一些方法,组件中通过调用store的这些方法去获取或者修改公共存储空间内的数据. 这里说store的几个方法:dispatch用于发送action;

Redux管理你的React应用

使用Redux管理你的React应用 因为redux和react的版本更新的比较频繁,博客园这里用的redux版本是1.0.1,如果你关心最新版本的使用技巧,欢迎来我的Github查看(https://github.com/matthew-sun/blog/issues/18) ,我会在这里进行持续的更新和纠错. React是最好的前端库,因为其发源于世界上最好的后端语言框架. ---信仰 4.0 will likely be the last major release. Use Redux

使用Redux管理你的React应用

React是最好的前端库,因为其发源于世界上最好的后端语言框架. ---信仰 4.0 will likely be the last major release. Use Redux instead. It's really great. —Flummox框架作者 acdliteAndrew Clark 为什么使用React还需要使用别的框架来搭配? React的核心是使用组件定义界面的表现,是一个View层的前端库,那么在使用React的时候我们通常还需要一套机制去管理组件与组件之间,组件与数

如何实现 React 中的状态自动保存?

什么是状态保存? 假设有下述场景: 移动端中,用户访问了一个列表页,上拉浏览列表页的过程中,随着滚动高度逐渐增加,数据也将采用触底分页加载的形式逐步增加,列表页浏览到某个位置,用户看到了感兴趣的项目,点击查看其详情,进入详情页,从详情页退回列表页时,需要停留在离开列表页时的浏览位置上 类似的数据或场景还有已填写但未提交的表单.管理系统中可切换和可关闭的功能标签等,这类数据随着用户交互逐渐变化或增长,这里理解为状态,在交互过程中,因为某些原因需要临时离开交互场景,则需要对状态进行保存 在 Reac