You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bootstrap答题应用异常:错误选项红色背景无法显示求助

问题排查与修复方案

核心问题:错误答案未触发状态更新

你的checkCorrectAnswer函数里,只有当用户选择正确答案(selected为true)时,才会执行setSelectedAnswer设置状态;选错误答案时selected是false,根本进不了if(selected)分支,selectedAnswer永远不会被设为wrong,导致红色背景的触发条件永远不成立。

修复后的checkCorrectAnswer函数

const checkCorrectAnswer = (selected) => {
  setShowNextBtn(true);
  // 无论对错都更新selectedAnswer状态
  setSelectedAnswer(selected ? 'correct' : 'wrong');
  if (selected) {
    setScore((prev) => prev + 1);
  }
  setDisabledBtn(true);
};

可选优化:简化className条件逻辑

原嵌套条件可读性较差,可调整为更直观的写法:

className={`btn border w-100 mt-1 ${
  (selectedAnswer === 'correct' && item.correct) ? 'bg-success text-light' :
  (selectedAnswer === 'wrong' && !item.correct) ? 'bg-danger text-light' : ''
}`}

验证逻辑

修复后,用户选择错误答案时会触发setSelectedAnswer('wrong'),此时错误选项的selectedAnswer === 'wrong' && !item.correct条件成立,就能正常应用bg-danger类显示红色背景。

内容的提问来源于stack exchange,提问作者erza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 17:23:16