此处的完整代码:https://github.com/dtdimart/hipaa-checker
这让我困了几个小时。本质上是此基于React的Quiz应用程序旧版本的复制品。该应用程序编译时没有错误,但是当单击答案时,它将引发错误
Cannot read property '**depends on answer picked**' of undefined
我确信该错误是由于以下内容的“更新”部分引起的:
setUserAnswer(answer) {
const updatedAnswersCount = update(this.state.answersCount, {
[answer]: { $apply: currentValue => currentValue + 1 }
});
this.setState({
answersCount: updatedAnswersCount,
answer: answer
});
}
对于更新,我使用的是immutability-helper而不是旧版的react-addons-update:
import update from "immutability-helper";
主要错误引用了不变性帮助程序代码本身,具体来说:
var nextValueForKey =
type(object) === 'Map'
? update(object.get(key), spec[key])
: update(object[key], spec[key]);
任何帮助将不胜感激,因为这应该是我应用程序功能的最后一步,然后再进行自定义/外观。
这是一个绑定问题吗?构造函数是:
constructor(props) {
super(props);
this.state = {
counter: 0,
questionId: 1,
question: "",
answerOptions: [],
answer: "",
answerCount: {
NonCompliant: 0,
Compliant: 0,
NeedsAttention: 0
},
result: ""
};
this.handleAnswerSelected = this.handleAnswerSelected.bind(this);
}