看了三四天的Redux一直是蒙蒙的状态。然后就开始看各种资料,有些资料介绍的是很详细,在关于Redux 的介绍和应用上都很详细,但是真正想使用一个技术,你就必须了解,技术存在的关键性和它的工作方式,而不仅仅只是单纯的拿过来使用。
1、Redux 的 API文档。很详细的介绍Redux。 ------> 中文文档
2、阮一峰对于React的理解,一共有三篇,每一篇都是精华。
a 、第一篇 b、第二篇,中间件和异步 c、第三篇,Redux用法
3、看漫画,学Redux,这是翻译过来的一个文章,真的很好,强烈推荐 --->看漫画学Redux
4、项目我是学了react 中文文档里关于使用ListView 和Redux完成一个任务管理。(当然现在0.43版本推出了FlatList,之后我也会慢慢使用这个标签。) --->项目
对于Redux的理解,我在这里就不多说,主要就是用于代码结构和组件之间的通讯,
用户的使用方式非常简单
用户之间没有协作
不需要与服务器大量交互,也没有使用 WebSocket
视图层(View)只从单一来源获取数据
如果满足以上,你的项目就根本不需要Redux来实现这样的操作。
用户的使用方式复杂
不同身份的用户有不同的使用方式(比如普通用户和管理员)
多个用户之间可以协作
与服务器大量交互,或者使用了WebSocket
View要从多个来源获取数据
某个组件的状态,需要共享
某个状态需要在任何地方都可以拿到
一个组件需要改变全局状态
一个组件需要改变另一个组件的状态
如果满足以上的调节,那么Redux的使用,让代码更加方便快捷。
在做项目的时候,有一个很简单的例子,就是用于在渲染的时候,点击不同的按钮,渲染不同的数据。同时要改变按钮的颜色。如果不使用Redux,则需要在渲染的时候加上判断。并且代码显得臃肿,不便后期的维护。看以前的代码就成了非常痛苦的事情。万一没加注释,那就是生不如死。
Redux设计思想:
(1)Web 应用是一个状态机,视图与状态是一一对应的。
(2)所有的状态,保存在一个对象里面。
Redux有很多api,具体见中文文档。
工作流:
工作流很多人如果一开始接触Redux,一定不怎么看的懂。仔细看看 《看漫画,学Redux》里面介绍的很详细。
个人对于Redux的理解,综合一句话,就是 所有的state都是放在store里,请求发送的时候,会交给store。而store会决定根Reducer去处理状态。根Reducer会拆分子Reducer,子Reducer只会复制,修改,之后回传给根Reducer。交给store树,之后。交给 视图管理层,来实现状态与视图的一一对应。
网友评论