가위바위보 전적 기록
숫자야구 파트에서 배운 것을 응용해서 가위바위보에서 전적을 기록하게 하려고 시도했습니다.
클래스로 컴포넌트를 작성한 경우에는 제대로 작동하는 것을 확인했으나 Hooks로 변경하고 나서는 제대로 작동하지 않아 질문 드립니다.
state에 history라는 배열을 만들어 준 후 가위바위보의 결과를 승리/무승부/패배로 배열에 추가하도록 했습니다. map으로 history 배열을 순회하면서 전적을 출력하도록 하고싶었는데
위와 같이 공백이 출력됩니다. 코드에서 어떤 부분을 검토하면 좋을까요?
const onClickBtn = (choice) => () => {
clearInterval(interval.current);
const myScore = scores[choice];
const cpuScore = scores[computerChoice(imgCoord)];
const diff = myScore - cpuScore;
if ( diff === 0 ){
setResult('비겼습니다');
setHistory((prevHistory) => {
return [...prevHistory, '무승부'];
})
} else if ([-1, 2].includes(diff)) {
setResult('이겼습니다');
setScore((prevScore) => prevScore + 1);
setHistory((prevHistory) => {
return [...prevHistory, '승리'];
});
} else {
setResult('졌습니다');
setScore((prevScore) => prevScore - 1);
setHistory((prevHistory) => {
return [...prevHistory, '패배'];
});
}
setTimeout(()=> {
interval.current = setInterval(changeHand, 100);
}, 2000);
};
<ul>
{history.map((v, i) => {
return (
<Try key={`${i + 1}차 시도:`} tryInfo={v} /> // html의 attribute와 유사한 역할을 하는 props
)
})}
</ul>
const Try = memo(({ TryInfo }) => {
return (
<li>{ TryInfo }</li>
)
})
Answer 1
npm run dev 실행 시 포트가 안뜨는 문제
0
226
2
timeouts.current를 useEffect 의 input값으로 넣었을때
0
91
2
렌더링 테스트 코드 (Hooks)
0
87
1
Cannot find package 'react-refesh' 이런 에러 뜨시는 분들 보세요.
0
161
1
해당 에러 뜨는 분들 보세요. "Uncaught TypeError: ReactDom.createRoot is not a function"
1
198
1
강사님 레포지토리에서 코드 복사 시 master 브랜치 말고 react18 브랜치꺼 복붙하세요ㅠㅠ
0
102
1
useMemo와 useCallback 사용 시기
0
211
2
onRightClickTd가 작동을 하지 않습니다.
0
232
1
action.type 불러오는 방식
0
225
2
onClickRedo 질문
0
174
1
const Try = require(./Try) 빨간줄
0
256
1
npx webpack 실행시
0
320
1
지뢰찾기 강좌에서 빈칸들 한번에 열기 파트에서 여쭤보고싶은부분이 있어서 글 올립니다.
0
238
1
강좌에서 다루지 않은 기능들은 어떻게 학습하면 좋을까요?
0
315
1
react devtool이 enable 않됩니다.
0
536
2
React 랜더링이 되지 않습니다.
0
419
2
비동기로 동작하는 setState에 대해서
0
336
1
npm run dev 할 때 에러발생
0
489
2
memo, PureComponenet, shouldComponentUpdate 관련 질문
0
207
1
devMiddleware의 필요성
0
355
1
리액트에서 화살표 함수를 사용해야하는 이유
0
944
2
path.join관련질문
0
286
2
2-9. 웹팩 데브 서버와 핫 리로딩 설치과정 시 에러
0
384
1
next.js 에서 이와 비슷한 예제를 돌리고있는데 react랑 달라서 질문 드립니
1
498
4

