redux.js源码解析
2017-04-12 16:58:41 8 举报
AI智能生成
Redux是一个JavaScript状态容器,用于管理应用程序中的所有组件。它的核心概念是“可预测的状态更新”。Redux通过将应用程序的整个状态存储在一个称为“store”的对象中来实现这一点。当需要更新状态时,Redux会发出一个“action”,然后根据该“action”来更新“store”中的状态。这种模式使得状态管理变得非常清晰和可预测。 Redux的主要组成部分包括: - Action:描述发生了什么事情的对象。 - Reducer:接收旧的state和一个action,返回新的state。 - Store:存储了整个应用的状态,并且提供了一种机制来监听state的变化。
作者其他创作
大纲/内容
react-redux
provider
返回一堆函数
compose:函数reduce
createStore:暴露getState, subscribe, dispatch, replaceReducer四个方法
reducers和initState暂存在createStore函数中
applyMiddleWare
middlewares[0] = thunk
返回一个双层函数
redux
一个redux spa页面
configStore(reducers, initState)
applyMiddleWare(thunk)(createStore)
thunk是一个函数
内嵌连个函数
最内层函数判断action的类型,是函数的话执行action(dispatch, getState), 不是的话执行next(action)
执行结果是一个函数,参数是reducer和initialState
store = createStore(reducer, initialState)
chain = [thunk({getState, dispatch}))]
首元素是thunk函数,参数是next
返回getState, subscribe, dispatch, replaceReducer四个方法。其中dispatch被修饰,可以接受函数或者对象字面量作为参数。最终执行的是store.dispatch
将store作为provider的props
provider
react-redux 3号函数
是一个构造函数
必须有store和children属性
继承ReactComponent
store改变,provider的children就会重新渲染?
view
0 条评论
下一页
为你推荐
查看更多