我的子组件的状态是一个名为answers
的空数组。
该数组将填充索引li
项,其中包含可以是radio或checkbox的输入。因此,如果您有4个复选框li元素,并且单击First和Last,则数组将包含0和3。
当我单击“next”时,该数组作为参数传递给从父组件传递的函数,该函数将该数组从子状态添加到父状态。
由于父状态正在重新渲染,我假设我的子组件在再次创建时将具有空数组的默认状态,但它具有的状态实际上与我调用下一个函数之前相同,比如说0和3。
我孩子的构造函数也没有被第二次调用。你可以看到它here。
答案 0 :(得分:0)
将回调函数传递给子Question
时,这些函数未与父Run
对象绑定。因此,当Question
调用这些函数时,自我引用变量this
为undefined
。
尝试更改此内容:
...
onPrev = {this.onPrev}
onNext = {this.onNext}
...
要:
...
onPrev = {this.onPrev.bind(this)}
onNext = {this.onNext.bind(this)}
...
浏览器控制台中必定会抛出错误。如果这不能解决您的问题,也许您也可以从控制台发布错误。