我有一个辅助函数,它应该为parent设置状态,因此触发onUpdate到子组件:
state = { fields: formFields };
这为我提供了所需的效果和子组件更新。但是如果我在父组件中记录状态,我会得到空对象。我记录时会在 proto 下找到这些值,而我实际上并不完全理解JavaScript的整个对象原型。
如果我修改代码,那么状态变量就在
之后xpath-default-namespace="example.com"
情况好转。我在父组件中获得了正确的状态,但未触发子组件更新。
我使用Object.create()有哪些替代方法?为什么会这样?
我还想补充一点,我知道这个问题的标题很愚蠢,这真的让我迷失了。
答案 0 :(得分:2)
不完全确定setFormState
或formFields
的样子,但您几乎肯定可以避免使用原型。
例如,您可以将所有属性与Object.assign
合并:
let form = { hasError, errorText };
let fields = Object.assign({}, formFields, form);
let state = { fields };
return setFormState(state);
这将创建一个新的fields
对象,其中包含formFields
和form
的所有属性。