React 教程第十一篇 —— Redux 简介和简单实现
发布时间:2020-12-15 06:26:36 所属栏目:百科 来源:网络整理
导读:Redux 前端框架的组件式开发永远有一道鸿沟——跨组件通信。我在 Vue 教程中有提到过,如果对跨组件通信不明白的可先跳过去看看。 React 不同与双向数据绑定框架,它是单向数据流,所以每次更新都得调用 setState ,所以在跨组件通信中会比较迂回。还有就是
Redux前端框架的组件式开发永远有一道鸿沟——跨组件通信。我在 Vue 教程中有提到过,如果对跨组件通信不明白的可先跳过去看看。 React 不同与双向数据绑定框架,它是单向数据流,所以每次更新都得调用 Redux 实现了跨组件通信和逻辑分层的好处,所以在 React 中使用 Redux 更配。 Redux 简单实现为了说明问题,先来一个公共对象实现跨组件通信。当然这个也是 flux 的实现原理。 actions.jsexport default { increment(){ return { type: "+" } },decrement(){ return { type: '-' } } } reducerexport default (state = 0,action) => { switch(action.type){ case '+': return state + 1; case '-': return state - 1; default: return state; } } componentimport React,{Component} from 'react' import {createStore} from 'redux' import Actions from './actions' import Reducer from './reducer' const store = createStore(Reducer); export default class Component1 extends Component{ constructor(props){ super(props); this.state = {count: 0} } increment = () => { store.dispatch(Actions.increment()); this.setState({ count: store.getState() }) } render(){ return ( <div> <h3>component-cp1-{this.state.count}</h3> <input type="button" value="increment" onClick={this.increment}/> </div> ) } } 小结——分层
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |