【发布时间】:2021-01-28 00:23:04
【问题描述】:
我还是新手,我正在制作决策树,我得到了要渲染的按钮并让它们向下移动到下一个问题,但现在我希望它跳转到数组的某些部分,具体取决于如何他们回答(对或错)。
例如,如果他们回答 yes(true),我希望问题 [0] 跳转到 [6] 作为响应
我正在考虑尝试使用 if then 语句,只是不确定我的代码是否会使它变得更难或更容易。
const questions = [
{
questionText: "Is the account data entry?",
answerOptions: [
{answerText: "No", isCorrect: false},
{answerText: "Yes", isCorrect: true},
],
},
{
questionText: "Is this customer 1 or 2?",
answerOptions: [
{answerText: "No", isCorrect: false},
{answerText: "Yes", isCorrect: true},
],
},
{
questionText: "Is it someone with a Power of Attorney or Conservatorship for the Customer?",
answerOptions: [
{answerText: "No", isCorrect: false},
{answerText: "Yes", isCorrect: true},
],
},
{
questionText: "Is it someone with a signed 'Name Add Form' on file?",
answerOptions: [
{answerText: "No", isCorrect: false},
{answerText: "Yes", isCorrect: true},
],
},
{
questionText: "Is it someone who is verbally authorized by a verified account holder to speak?",
answerOptions: [
{answerText: "No", isCorrect: false},
{answerText: "Yes", isCorrect: true},
],
},
{ //this is object number 5
questionText: "VERIFIED",
answerOptions: [
],
},
{ //this is object number 6
questionText: "You can tell the customer their verbal password.",
answerOptions: [
],
},
]
const [currentQuestion, setCurrentQuestion] = useState(0);
const handleAnswerButton = () => {
const nextQuestion = currentQuestion + 1;
setCurrentQuestion(nextQuestion);
}
return (
<div className="App">
<h1>{questions[currentQuestion].questionText}</h1>
<div className="answerSection">
{questions[currentQuestion].answerOptions.map((answerOption)=> (
<button onClick={handleAnswerButton}>{answerOption.answerText}</button>
))}
</div>
</div>
);
}
【问题讨论】:
-
我很困惑。您是想将
true回答的问题移动到问题数组中的索引 6(改变问题数组),还是如果前面的任何问题都回答了true,您想“跳转到”问题 6? -
我可以看到它是如何令人困惑的,(我还是新手)是的,问题数组也被答案污染了。我知道的不好的做法。我愿意接受更好的处理方式。这都是很好的知识。
标签: reactjs react-hooks components conditional-statements render