Object.create有什么替代方法(将状态设置为React组件时)?

时间:2016-06-29 17:41:29

标签: javascript reactjs

我有一个辅助函数,它应该为parent设置状态,因此触发onUpdate到子组件:

state = { fields: formFields };

这为我提供了所需的效果和子组件更新。但是如果我在父组件中记录状态,我会得到空对象。我记录时会在 proto 下找到这些值,而我实际上并不完全理解JavaScript的整个对象原型。

如果我修改代码,那么状态变量就在

之后
xpath-default-namespace="example.com"
情况好转。我在父组件中获得了正确的状态,但未触发子组件更新。

我使用Object.create()有哪些替代方法?为什么会这样?

我还想补充一点,我知道这个问题的标题很愚蠢,这真的让我迷失了。

1 个答案:

答案 0 :(得分:2)

不完全确定setFormStateformFields的样子,但您几乎肯定可以避免使用原型。

例如,您可以将所有属性与Object.assign合并:

let form = { hasError, errorText };
let fields = Object.assign({}, formFields, form);
let state = { fields };
return setFormState(state);

这将创建一个新的fields对象,其中包含formFieldsform的所有属性。