Redux 核心概念

如果要改变 State,你需要 Dispatch 一个 Action。

一个 Action 是一个纯 JavaScript 对象,它描述了发生何种变化。

1
2
3
4
// 一个Action的例子
{
type:'ADD_ITEM',text:'Item content'
}

Redux 强制将每个对于 State 的更改都描述为一个 Action,这样我们能显式地了解发生了什么更改。为了将状态和操作结合在一起,Redux 提出了 Reducer:它将状态和操作作为参数,并返回下一个状态。

1
2
3
4
5
6
7
function visibilityFilter(state = "SHOW_ALL", action) {
if (action.type === "SET_VISIBILITY_FILTER") {
return action.filter;
} else {
return state;
}
}

单向数据流

View -> Action -> State -> View