在 Redux 状态下存储 React 元素:反模式?

Gui*_*rau 5 reactjs redux react-redux

在 Redux 存储的状态中包含 React 元素是否明智甚至可能?由于它是一个描述“应该绘制什么”的普通对象,我想它应该是安全的,但仍然:有任何经验吗?

我为什么要做这样的事?我正在编写一个抽象的 React 组件,能够嵌入其他组件,这些组件在 React 树的其他地方进行了描述。例如,这将使它们摆脱transform用于性能的硬件加速、CSS 编辑的 DOM 节点的物理边界。

mar*_*son 5

是的 - 与许多其他类似的想法一样,这是可能的,但绝对是一种反模式,因为它破坏了时间旅行调试(Redux 的核心卖点之一)等功能。有关更多详细信息,请参阅http://redux.js.org/docs/FAQ.html#organizing-state-non-serialized上的 Redux 常见问题解答。

现在,将 React 组件类保留在 React 组件的内部状态是不同的,并且对于动态需要组件并在下载实现后重新渲染等情况可能很有用。