即使我更新父状态

时间:2016-12-01 21:37:16

标签: reactjs

我的子组件的状态是一个名为answers的空数组。

该数组将填充索引li项,其中包含可以是radio或checkbox的输入。因此,如果您有4个复选框li元素,并且单击First和Last,则数组将包含0和3。

当我单击“next”时,该数组作为参数传递给从父组件传递的函数,该函数将该数组从子状态添加到父状态。

由于父状态正在重新渲染,我假设我的子组件在再次创建时将具有空数组的默认状态,但它具有的状态实际上与我调用下一个函数之前相同,比如说0和3。

我孩子的构造函数也没有被第二次调用。你可以看到它here

1 个答案:

答案 0 :(得分:0)

将回调函数传递给子Question时,这些函数未与父Run对象绑定。因此,当Question调用这些函数时,自我引用变量thisundefined

尝试更改此内容:

...
onPrev = {this.onPrev}
onNext = {this.onNext}
...

要:

...
onPrev = {this.onPrev.bind(this)}
onNext = {this.onNext.bind(this)}
...

浏览器控制台中必定会抛出错误。如果这不能解决您的问题,也许您也可以从控制台发布错误。