我正在制作一个使用JSON模式构建表单的表单生成器,但是遇到了问题。
如果我进行受控输入,并且在每个渲染器上调用getForms
方法(生成表单的方法),它将按预期从状态更新输入的值。
太好了。但是,我不希望在每次渲染时都调用从JSON模式生成表单的算法。
我尝试将表单存储在类变量或状态中,但未按预期工作。更改输入后,状态会正确更新,但不会更新表单输入。
以下是我的问题的一个示例:https://codesandbox.io/embed/q8zl5p9x5q
编辑:检查对象只有一个区别-当我从变量渲染输入元素时,未设置owner属性。可以吗?
我需要的是我只生成一次表单,因为它背后有复杂的逻辑,因此会在每次击键时都运行该表单,然后更新 just 来自状态的值。
在调用getForms
方法时,该值并不重要。我只需要等于输入更改的状态即可。
目前,我只想到使用ref并使用React.cloneElement
克隆元素并将状态添加到值中。