内容简介: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的回答 - 知乎
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 降低云游戏延迟优化云游戏体验:贝塞斯达推出Orion技术,还公布了免费体验计划
- PyTorch 初体验
- indexedDB 初体验
- golang爬虫初体验
- Netty 入门初体验
- Ansible初体验
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Spring Into HTML and CSS
Molly E. Holzschlag / Addison-Wesley Professional / 2005-5-2 / USD 34.99
The fastest route to true HTML/CSS mastery! Need to build a web site? Or update one? Or just create some effective new web content? Maybe you just need to update your skills, do the job better. Welco......一起来看看 《Spring Into HTML and CSS》 这本书的介绍吧!