为了账号安全,请及时绑定邮箱和手机立即绑定

TypeError:如果“false”没有按预期工作

TypeError:如果“false”没有按预期工作

大话西游666 2023-04-01 17:30:01
我正在使用 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 || 错误的


查看完整回答
反对 回复 2023-04-01
  • 1 回答
  • 0 关注
  • 90 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信