React进阶训练
React进阶训练
吴华锦redux
Redux
就是给JavaScript应用程序一个可以预测state
的容器。
使用Redux的时候一定要记得以下三大原则:
single source of truth
:应用程序的state
,皆存储在唯一一个树状结构的store
中;state is read-only
:唯一改变state
的方式,发送一个描述如何改变的action
;changes are made with pure functions
:为了描述action
如何改变state
,reducer
必须改成pure function
。
具体运行
- 当我们要改
state
时,必须**通过dispatch
发送一个action
对象到store
**,这个action
对象是用来描述发生了什么事。 store
基本上也不知道收到这个用来做什么,因为它是用来存储state tree
的地方,所以store
会把「自己目前的state
」及「action
」交给给Reducer
处理。reducer
是一个pure function
,它会**根据我们action
的要求去做state
的更改,并将新的state
回传给store
**。- 我们可以让
component
去做监听redux
裡面的storestate
,只要一旦发现state
有发生变化,就会立即帮我们重新Render
。
store
store
主要的功能就是掌管应用程式的状态,并且有这些任务:
- 掌管应用程式的状态
- 用
getState()
读取state
- 用
dispatch(action)
来更新state
- 用
subscribe(listener)
注册listener
- 利用
subscribe(listener)
回传的function
注销listener
在redux
的应用程式中,store
只会有一个。
创建state
的方法就是利用createStore(reducer)
的方式创建它,而要发送action
则利用dispatch(action)
来达到,当store
收到action
时,则会调用reducer
来帮忙更新state
。
评论
匿名评论隐私政策