Reactjs 我们可以通过任何方式从旧操作访问redux状态值
我想检查是否有一种方法可以从不同的操作中访问旧的状态值,因为reducer总是返回新的状态 例如,有3个操作,每个操作中都创建了一个新状态。 是否有一种方法可以从第三个操作访问第一个操作状态对象Reactjs 我们可以通过任何方式从旧操作访问redux状态值,reactjs,react-redux,Reactjs,React Redux,我想检查是否有一种方法可以从不同的操作中访问旧的状态值,因为reducer总是返回新的状态 例如,有3个操作,每个操作中都创建了一个新状态。 是否有一种方法可以从第三个操作访问第一个操作状态对象 基本上,我的要求是将状态重置为生命周期中不同操作的状态值。您试图实现的是Redux中的时间旅行,这是Redux提供的核心功能之一 请看Dan的视频,其中有详细说明 要实现您正在尝试的功能,您需要在应用程序中维护多个状态 让我们把它们称为过去、现在和未来 过去:触发操作1之前的应用程序 当前:应用程序的
基本上,我的要求是将状态重置为生命周期中不同操作的状态值。您试图实现的是Redux中的时间旅行,这是Redux提供的核心功能之一 请看Dan的视频,其中有详细说明 要实现您正在尝试的功能,您需要在应用程序中维护多个状态 让我们把它们称为过去、现在和未来
- 过去:触发操作1之前的应用程序
- 当前:应用程序的当前状态
- Future:触发操作2后应用程序的未来状态
ApplicationState= {
past: {},
present: {},
future: {},
}
现在,如果你想回到过去的时间(相当于访问过去的状态)
switch(action.type){
case "ACTIONTYPE_1":
return {
...state,
past: {...state},
present: //implemention of logic
}
}
我找到了一本很好的读物,介绍了你想要达到的目标。请看一看。作为一个选项,您可能会考虑使用Immutable.JS并在更新之前存储状态。我相信您只需存储“旧”状态的副本即可