我正在设计一个导航控制器(基于这个移动版本:https://developer.apple.com/documentation/uikit/uinavigationcontroller
我想允许一组视图的推送和弹出功能(用户可以从中导航)。问题是,我在哪里存储我的组件集合。
例如,如果我采取以下行动:
export function pushViewController(view) {}
我可以在具有状态集合视图的reducer中推送它(显然在这样做的时候创建一个新的状态片段,而不是实际上'推'以避免混淆我在这里改变状态):
const initialState = { views: [<View />] }
我已经做过一些阅读,但是对于Redux中的这种“ok”练习是否有不同的看法。以这种方式推动观点甚至是正确的形式?希望能提前得到一些意见。
答案 0 :(得分:1)
没有。这在技术上可能,但在几个级别上是一个坏主意。
首先,your Redux state should be only serializable JS values。
其次,假设您正在讨论React组件,您将把描述性对象放入存储中,而不是对实际组件实例的引用。
第三,那些React描述性对象本身使用Javascript符号,这些符号不可序列化。
现在, 的变体就像Dan Abramov在How can I display a modal using Redux?中描述的那样。