Web前端之路让前端飞技术干货

React之Redux基础

2017-05-04  本文已影响110人  人失格

前言: 看了一个多星期的JS,结果没想到花在React生态上的时间却超过了一个月,之前天真的以为前端不过是Html Css JS凑在一起而已。看来我现在的观点已经是相当的落后了,花了一个星期看完了React,原以为就可以直接上手了,结果发现除了做一些小页面Demo,React一句话说穿就只是一个视图层。既然踏入了React生态圈,想要工程上使用至少要使用React Redux React-router。

Redux基础概念: 在写了一些Reacr页面后,就会出现状态管理的问题,在React中有两个属性 Props State用来作为组件的属性。

通常在会出现数据是一些组件需要共同持有的,在React中的原生的解决方案状态提升--将这些共同的属性提取出来,放在组件的父组件中,如果两个组件需要同步数据,通常React的原生写法则是一个组件更新父组件的数据,然后回调数据更新到另外一个组件中。当页面相当的复杂的时候,你会发现React其实没有比较好的方法。

Flux 框架

React官方提供了一个Flux数据流单方向流动框架,我们首先介绍一下Flux的基础概念

Flux提出的是一种框架概念,而Redux则是遵循Flux框架去实现的一个状态管理框架,Redux当然有自己实现中不同之处,比如Redux 通常只有一个Store存储所有的数据,没有所谓的Dispatcher转到是Reducers来实现。

bg2016011503.png

React中的Context

React中有一个属性Context,了解它对于我们接下来要介绍的React-redux很有好处,前面讲到了关于 组件,现在假如所有的组件都有一个主题颜色(ThemeColor),如果是原生的编写我们需要每层都写props.themeColor,如果我们的组件树层数很深的话,这样维护起来简直就是灾难。如果有一个全局变量来存储这个变化就好了。

03118DDD-60E3-469A-AB78-5FBE57425E30.png

React中的Context则就是这样的一个东西,只要某一个组件放了某些状态,这个组件之下的所有子组件都可以直接访问这个状态。一个组件的Context只能被它的子组件访问,它的父组件是不能访问的。

3BC6BDFC-5772-4045-943B-15FBEC28DAC0.png

Redux基本概念

在学习Redux的时候,在这里卡了很长时间,当然我现在不敢把握说清楚,首先我们先了解具体中React-redux中的一些特有名词。

上一篇下一篇

猜你喜欢

热点阅读