我只是想知道是否存在完全克隆已经呈现的React组件的情况。我读过关于cloneElement的文章,但是当我呈现这个克隆时,我得到了一个错误:
未明错误:不变违反:元素类型无效
我还想知道这是否会克隆元素的子元素及其后续的输入值。例如,如果某个文本在其中一个输入中,然后该组件被克隆,这些值会被保留吗?还是我唯一的选择是在克隆之前存储这些值?这会使我感觉到它非常紧密的耦合。
发布于 2016-09-05 22:38:28
通常情况下,我们应该尽量保持组件的无状态性,这意味着您在表单中输入的数据应该存储在组件之外的某个地方(可能是存储库吗?)我在考虑http://alt.js.org/docs/stores/)。
使用这种方法,您将让您的组件监听该存储。您可以拥有任意数量的组件副本,但唯一的真相来源将是您的商店。
另一种情况是,如果相同的组件应该显示来自不同存储区的数据,那么就不要使用存储,而是使用道具。让父组件是侦听其存储的组件,并将必要的数据传递给子组件(您希望在应用程序中的多个地方拥有克隆的子组件)。
我希望这能帮上忙
https://stackoverflow.com/questions/39334342
复制相似问题