React에서 한 번 배열의 요소를 무작위로 정렬합니다(사용 효과 사용 가능).
2231 단어 javascriptreact
https://scrimba.com/learn/learnreact/fork-of-section-4-solo-project-coc8e46febb53e8d33018993e
보시다시피 모든 정답은 답변 배열의 마지막 위치에 있습니다.
나는 useEffect를 사용하려고 시도했지만 이것이 사용해야 하는 상황인지 정말 확신할 수 없습니다. 이것이 제가 내 코드에 남겨둔 것입니다. 모든 버튼 클릭에서 useEffect 셔플을 제거하면 답변이 잘못된 위치에 배치됩니다. 이 코드를 포함했지만 문제를 측정하기 어려울 수 있으므로 스크림이 첨부됩니다.
const 수정 ID = nanoid()
const wrongIds = [나노이드(), 나노이드(), 나노이드()]
카운터 = 0으로 하자
const correctAnswer =
<button
value='correct'
id={correctId}
onClick={e => {
changeClass(correctId, 'correct')
props.answerQuestion(e, 'correct')
}}>
{props.result.correct_answer}</button>
let answers = props.result.incorrect_answers
let allAnswers = answers.map(answer => {
const id = incorrectIds[counter]
counter++
return (
<button
value='incorrect'
id={id}
onClick={e => {
changeClass(correctId, 'correct')
changeClass(id, 'incorrect')
props.answerQuestion(e, 'incorrect')
}}>
{answer}</button>)})
allAnswers.push(correctAnswer)
React.useEffect(function() {
allAnswers = shuffle(allAnswers)
}, [])
Reference
이 문제에 관하여(React에서 한 번 배열의 요소를 무작위로 정렬합니다(사용 효과 사용 가능).), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jakeclifford/randomly-order-elements-in-an-array-once-in-react-possibly-using-use-effect-40d2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)