• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

Cannot read properties of undefined

22.02.18 04:19 작성 조회수 1.14k

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로부터 데이터가 제대로 안 온 것 같습니다~ 관련 코드 살펴보세요.