【发布时间】:2016-04-14 18:00:30
【问题描述】:
我正在使用 Redux 构建一个涉及使用计时器的库。我有一个调度 START_TIMER 事件的动作创建者,还应该在计时器对象上调用 start。代码如下所示:
// thunk action creator
const startTimer = () => (dispatch, getState) => {
if (!getState().timer.isRunning)
externalTimerObject.start()
dispatch({
type: 'START_TIMER'
})
}
我正在尝试解决两个问题:
如果我想将我的操作记录到数据库或 localStorage 中,以便我可以重播它们以获得一致的应用程序状态,那么即使
rootState.timer.isRunning为真,我的计时器对象也不会运行。条件
if (!getState().timer.isRunning)要求我知道在根状态timer的安装位置。由于我将其构建为一个库,因此我不能假设timer总是会直接挂载到根状态。
【问题讨论】:
标签: redux react-redux redux-framework redux-thunk