React Native之Redux使用详解(29)
(一)前言
1.1 简要介绍
什么是React Native的Redux,其实简单理解就是为FaceBook为React Native应用开发专门开发的一套数据访问规则,其他不多说,这篇文章旨在说明怎么使用。
1.2 三个规则
1.2.1 单源
整个App的state呗存储在一个对象树中,即 Store。
console.log(store.getState())
/* Prints
{
visibilityFilter: 'SHOW_ALL',
todos: [
{
text: 'Consider using Redux',
completed: true,
},
{
text: 'Keep all state in a single tree',
completed: false
}
]
}
*/
1.2.2 State是只读的
唯一去转变state的方式是发出一个action,action是描述发生什么了的对象。
通过以下代码去转变State,就是通过dispatch()方法分发Action。
store.dispatch({
type: 'COMPLETE_TODO',
index: 1
})
store.dispatch({
type: 'SET_VISIBILITY_FILTER',
filter: 'SHOW_COMPLETED'
})
1.2.3 状态改变只能由纯函数导致
Reducers就是一系列纯函数,它们获取到前一状态state对象和一个action,然后返回新的state对象。记住返回的是新的state对象,不是经过改变过的前一个state对象。你可以前期使用一个单一reducer,随着你的app的成长,分解它成更小多个reducers来管理指定部分的state树。因为 reducers仅仅是一系列函数,你能够控制它们被调用的顺