我正在使用 React.js 做一个 PWA 测验应用程序,我遇到了以下问题:我可以获得只有一个答案的问题对象,有些则有多个。在只有一种可能答案的情况下,我想强制用户只有一种可能性。为此,我制定了以下算法: clickOnChoice = (key) => { if (this.state && this.state.correctAnswers) { let newChoices = INITIAL_CHOICES; // {} if (this.state.multiChoice) { console.log("this.state.multiChoice:", this.state.multiChoice); // this.state.multiChoice: false ??? newChoices = JSON.parse(JSON.stringify(this.state.choices)); // {answer_b: 1} } newChoices[key] = 1 - (newChoices[key] | 0); // {answer_b: 1, answer_a: 1} this.setState({ choices: newChoices }, this.updateNextButtonState); } }然而,执行似乎忽略了条件if (this.state.multiChoice)。我错过了什么?https://i.stack.imgur.com/mRrJG.gif 也许我需要一杯咖啡...☕无论如何,先谢谢了!
1 回答
皈依舞
TA贡献1851条经验 获得超3个赞
您很可能正在尝试检查字符串“false”而不是实际的布尔值。
您可以检查该字符串是否为预期的布尔值if (this.state.multiChoice === 'true')
或将 state 属性的值更改为 true || 错误的
添加回答
举报
0/150
提交
取消