강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

웹 게임을 만들며 배우는 React

Cannot read properties of undefined

작성

·

1.4K

0

안녕하세요 선생님 강의 감사히 잘 듣고 있습니다.

지뢰 찾기를 구현하다가 자꾸 에러가 떠서 문의드립니다.

 

context API 를 하는 부분에서 무언가 문제가 생긴것 같습니다.

'Cannot read properties of undefined (reading 'length')' 에러가 뜨는데,

지뢰찾기 메인 jsx 파일에서 tableData를 받아와서 length로 배열 안의 갯수를 읽는 것에 실패한 걸로 보입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import React, {useContext, memo} from 'react'
import Tr from './Tr'
import {TableContext} from './MineSweeper'
 
 
const Table = memo(() => {
    const {tableData} = useContext(TableContext);
   
    return(
        <table>
            {Array(tableData.length).fill().map((tr, i) => <Tr rowIndex={i}/>)}
        </table>
    )
});
 
export default Table;
cs

그래서 그냥 && 을 이용하여 이 에러를 해결하면 또 다른 아래의 에러로 연결이 됩니다.

Cannot set properties of undefined (setting 'NaN') 

이 에러는 메인 파일의 PlantMine 함수와 Reducer 부분에 이런 문제가 있다고 하는데, 선생님 코드랑 한 줄 한 줄 비교해 가며 똑같이 만들었는데, 이상하네요. 어떤 식으로 해결해 보는게 좋을까요?

 

감사합니다.

 

 

 

 

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

tableData가 undefined인 상황인데요. contextApi로부터 데이터가 제대로 안 온 것 같습니다~ 관련 코드 살펴보세요.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기