Uncaught TypeError: tries.map is not a function
function getNumbers() { // 숫자 네 개를 겹치치 않고 랜덤하게 뽑는 함수
const candidate = [1,2,3,4,5,6,7,8,9]
const array = []
for (let i = 0; i<4; i+=1) {
const chosen = candidate.splice(Math.floor(Math.random()*(9-i)), 1)[0]
array.push(chosen)
}
return array
}
const NumberBaseball = () => {
const [result, setResult] = useState('')
const [value, setValue] = useState('')
const [answer, setAnswer] = useState(getNumbers) // lazy init
const [tries, setTries] = useState([])
const submit = (e) => {
e.preventDefault()
if (value === answer.join('')) {
setResult('홈런!')
setTries(...tries, {try:value, result:'홈런!'})
alert('게임을 다시 시작합니다!')
setValue('')
setAnswer(getNumbers())
setTries([])
} else { // 답 틀렸으면
const answerArray = value.split('').map((v)=> parseInt(v))
let strike = 0
let ball = 0
if(tries.length >= 9) { // 10번 이상 틀렸을 때
setResult(`10번 넘게 틀려서 실패! 답은 ${answer.join(', ')}였습니다!`)
alert('게임을 다시 시작합니다!')
setValue('')
setAnswer(getNumbers())
setTries([])
} else {
for (let i=0; i<4; i++) {
if (answerArray[i] === answer[i]) {
strike += 1
} else if (answer.includes(answerArray[i])) {
ball += 1
}
}
setTries({tries: [...tries, {try:value, result: `${strike} 스트라이크, ${ball} 볼입니다.`}]})
setValue('')
}
}
}
const change = (e) => {
setValue(e.target.value)
}
return (
<>
<h1>{result}</h1>
<form onSubmit={submit}>
<input maxLength={4} value={value} onChange={change}/>
</form>
<div>시도: {tries.length}</div>
<ul>
{tries.map((value, index) => {
return (
<Try key={`${index+1}차 시도 : ${value.try}`} tryInfo={value} />
)
})}
</ul>
</>
)
}
Uncaught TypeError: tries.map is not a function 오류가 뜨는데 원인을 모르겠습니다
답변 1
0
setTries({tries: [...tries, {try:value, result: `${strike} 스트라이크, ${ball...
여기서 tries를 배열이 아니라 객체로 바꿔버리셨네요
npm run dev 실행 시 포트가 안뜨는 문제
0
211
2
timeouts.current를 useEffect 의 input값으로 넣었을때
0
89
2
렌더링 테스트 코드 (Hooks)
0
80
1
Cannot find package 'react-refesh' 이런 에러 뜨시는 분들 보세요.
0
154
1
해당 에러 뜨는 분들 보세요. "Uncaught TypeError: ReactDom.createRoot is not a function"
1
193
1
강사님 레포지토리에서 코드 복사 시 master 브랜치 말고 react18 브랜치꺼 복붙하세요ㅠㅠ
0
99
1
useMemo와 useCallback 사용 시기
0
208
2
onRightClickTd가 작동을 하지 않습니다.
0
228
1
action.type 불러오는 방식
0
222
2
onClickRedo 질문
0
172
1
const Try = require(./Try) 빨간줄
0
249
1
npx webpack 실행시
0
316
1
지뢰찾기 강좌에서 빈칸들 한번에 열기 파트에서 여쭤보고싶은부분이 있어서 글 올립니다.
0
236
1
강좌에서 다루지 않은 기능들은 어떻게 학습하면 좋을까요?
0
311
1
react devtool이 enable 않됩니다.
0
532
2
React 랜더링이 되지 않습니다.
0
414
2
비동기로 동작하는 setState에 대해서
0
332
1
npm run dev 할 때 에러발생
0
480
2
memo, PureComponenet, shouldComponentUpdate 관련 질문
0
207
1
devMiddleware의 필요성
0
353
1
리액트에서 화살표 함수를 사용해야하는 이유
0
937
2
path.join관련질문
0
283
2
2-9. 웹팩 데브 서버와 핫 리로딩 설치과정 시 에러
0
376
1
next.js 에서 이와 비슷한 예제를 돌리고있는데 react랑 달라서 질문 드립니
1
494
4





