Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 重新初始化react子表单以供重用_Reactjs_Lifecycle - Fatal编程技术网

Reactjs 重新初始化react子表单以供重用

Reactjs 重新初始化react子表单以供重用,reactjs,lifecycle,Reactjs,Lifecycle,这显然是我不知道该怎么做的。。。这是概念性的。 我的用例是一个包含标题数据和细节数据的采购(或发票,或任何东西)的输入表单。 我的用户看到一个购物清单,每次购物一行。 她单击其中一个并查看其详细项目,原始单行将展开以显示项目行,任意数量。 在最后一个按钮下方有一个“添加项目”[+]按钮 单击[+]按钮后,“新项目”表格显示在当前项目下方。 用户填写子表单并单击“保存”[✔] 按钮(只有在项目正常时才启用)。 表单中的数据现在显示在一行中,作为购买的最后一项。到目前为止,没有什么新的,没有什么可抱

这显然是我不知道该怎么做的。。。这是概念性的。
我的用例是一个包含标题数据和细节数据的采购(或发票,或任何东西)的输入表单。
我的用户看到一个购物清单,每次购物一行。
她单击其中一个并查看其详细项目,原始单行将展开以显示项目行,任意数量。
在最后一个按钮下方有一个“添加项目”[+]按钮

单击[+]按钮后,“新项目”表格显示在当前项目下方。
用户填写子表单并单击“保存”[✔] 按钮(只有在项目正常时才启用)。
表单中的数据现在显示在一行中,作为购买的最后一项。到目前为止,没有什么新的,没有什么可抱怨的


当用户在这个特定的购买结束时添加物品时(可能是第一次将其加载到系统中),我希望她能再次看到购买物品子表单,直到她点击“关闭”[阅读更多关于我问题主题的内容,我发现@bvaughn的一篇文章解释了如何做我想要的事情。
是的。
简言之,它表示如果我给重复表单的每个连续实例一个不同的
,那么React会在重新渲染时销毁以前的实例,这样我就可以初始化构造函数中的每个新实例(这是一种“标题”时间情况)

我还没有试过,但我很确定这是一个很好的解决方案。
特别是,一个比我计划使用的
getDerivedStateFromProps
更干净的解决方案