前提・実現したいこと
Reactで4択クイズを作っています。
機能はボタンをクリックしたら"正解です","不正解です"が表示されるという機能です。
問題を繰り返し処理を使って問題の内容だけ変えて表示したいと思っています。
該当のソースコード
import React, { useState } from 'react' import Button from '@material-ui/core/Button' //import Proptypes from 'prop-types' function HakoneQuizA() { const QuestionLists=[ {Question:"1.早稲田出身の選手は?",Answers:["大迫傑選手","服部勇馬選手","中村匠吾選手","相澤晃選手"],Correct:"大迫傑選手"}, {Question:"2.東洋出身の選手は?",Answers:["大迫傑選手","服部勇馬選手","中村匠吾選手","相澤晃選手"],Correct:"服部勇馬選手"}, {Question:"3.駒澤出身の選手は?",Answers:["大迫傑選手","服部勇馬選手","中村匠吾選手","相澤晃選手"],Correct:"中村匠吾選手"} ] const [state, setState] = useState({open: false,correct: true,}); return ( <div> <h1> {QuestionLists[0].Question}</h1> <ul> <Button onClick={()=>setState({open: !state.open,correct:true})}variant="contained" > {QuestionLists[0].Answers[0]} </Button> <Button onClick={()=>setState({open: !state.open,correct:false})}variant="contained" > {QuestionLists[0].Answers[1]} </Button> <Button onClick={()=>setState({open: !state.open,correct:false})}variant="contained" > {QuestionLists[0].Answers[2]} </Button> <Button onClick={()=>setState({open: !state.open,correct:false})}variant="contained" > {QuestionLists[0].Answers[3]} </Button> </ul> {state.open ? ( <div> { state.correct ? '正解' : '不正解' } </div> ) : null} </div> ); } export default HakoneQuizA;
試したこと
1.<div></div>の中をコピー&ペーストしましたが、例えば、一番の問題を解いたときに他の問題の答えも一緒に表示されてしまいました.。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/10 12:21