Redux初体验

栏目: 服务器 · 发布时间: 6年前

内容简介:redux是一种对项目进行统一的状态管理机制,父子组件间通信是通过props属性值传递和子组件回调父组件提前声明好的方法,整个state只能从上到下,而没有回溯的能力,redux将所有的state集中到所有组件顶层,然后分发给每个组件自己需要的state,更好的管理状态,顶层分发状态,让React组件被动地渲染,而react hooks解决的是pure render function (渲染函数组件)拥有状态和生命周期单一数据源 store 由rootReducer组成,用于最外层组件rootReducer

redux是一种对项目进行统一的状态管理机制,父子组件间通信是通过props属性值传递和子组件回调父组件提前声明好的方法,整个state只能从上到下,而没有回溯的能力,redux将所有的state集中到所有组件顶层,然后分发给每个组件自己需要的state,更好的管理状态,顶层分发状态,让React组件被动地渲染,而react hooks解决的是pure render function (渲染函数组件)拥有状态和生命周期

react-redux 构成

1.store

单一数据源 store 由rootReducer组成,用于最外层组件

import { createStore } from 'redux';
import { Provider } from 'react-redux';
const store = creacteStore(rootReducer);
<Provider store={store}><App /></Provider>

2.rootReducer

rootReducer由多个reducers组成

import { combineReducers } from 'redux';
export default combineReducers({reducerA, reducerB})

3.Reducer

每一个reducer由 oldState(initState) 和 action组成,通过action.type 返回 newState,default 返回oldState

export default function count (state = 0, action) {
  switch(action.type) {
​    case 'count':
​      return state + 1
​    default:
​      return state
  }
}

4.Action

action 可以是一个方法,用于返回对象,也可以直接是一个对象,type属性是必须的

export function count () {
    return {
    ​    type: 'count'
    }
}

5.conncet

connect 用于连接组件和数据

import { connect } from 'react-redux'
export default connect(mapStateToProps, mapDispatchToProps)(App)

6.mapStateToProps

mapStateToProps 方法用于将状态映射成属性,返回组件需要的属性

const mapStateToProps = (state) => {
    return {
        count: state.count
    }
}

7.mapDispatchToProps

mapDispatchToProps 提供给组件一个属性用于触发dispatch,也就是用户触发action

const mapDispatchToProps = (dispatch) => {
​    return {
​        addCount: () => dispath(someAction) // dispatch的对象是action
    }
}

react-redux注意点

state = store.getState() // 获取state
state.count = state.count + 1 // state是只读的,只能通过dispatch(action)改变

我写了一个完整的简单的 react-redux-count-demo 项目,也是上面演示的列子

参考 Redux 简明教程理解 React,但不理解 Redux,该如何通俗易懂的理解 Redux? - Wang Namelos的回答 - 知乎


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

51单片机应用从零开始

51单片机应用从零开始

杨欣、王玉凤、刘湘黔 / 清华大学 / 2008-1 / 39.80元

《51单片机应用与实践丛书•51单片机应用从零开始》在分析初学者认知规律的基础上,结合国内重点大学一线教师的教学经验以及借鉴国外经典教材的写作手法,对51单片机的应用基础知识进行系统而翔实的介绍。读者学习每一章之后,"实例点拨"环节除了可以巩固所学的内容外,还开辟了单片机应用的视野;再加上"器件介绍"环节,又充实了对单片机从基础到应用所需要的知识。8051单片机不仅是国内用得最多的单片机之一,同时......一起来看看 《51单片机应用从零开始》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具