• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

안녕하세요

21.04.08 17:54 작성 조회수 131

0

강의 시간 2:30 쯤 부터 List tag 안에서 Task 컴포넌트를 map 메서드로 여러개 나열하는 부분을 따라 진행중이였습니다

아래와 같은 오류때문에 질문드립니다.

오류가 뜬 이후에도 딱히 이유를 모르겠어서 일단 강의따라 코드는 더 작성하긴했습니다.

사진아래에 깃헙 레포 주소 올려놨습니다 확인 가능하실까요??

https://github.com/14-yoonl/2021_0408-RN_TodoList

답변 2

·

답변을 작성해보세요.

1

나름대로 코드를 좀 정리시키고 싶어서 hooks 끼리 정리 해본거였는데 js는 위에서 부터 코드를 읽는다는 기본적인것을 배제하고있었네요 답변주셔서 감사합니다 :)

0

안녕하세요, 

  

먼저, styled-components 는 항상 뒤에 /native를 붙여서

import styled from 'styled-components/native' 로 사용하셔야 합니다. 

components 폴더에 있는 모든 파일 수정 필요합니다. 

 

src/App.js 파일에서,

const [tasks, setTasks] = useState(tempData);
를 하는데, tempData가 이 코드보다 아래에 정의되어 있어서 tasks가 undefined로 되고 있습니다. 
tempData를 useState보다 위에 작성해야 합니다. 

<List>안에 tasks.map을 사용하셨는데, tasks는 배열이 아니기 때문에 map을 사용할 수 없습니다. 
Obejct.values()를 하면, 전달된 객체의 값들을 배열 형태로 반환합니다.
Object.values(tasks) 로 변경해서 tasks에 있는 값들을 배열로 받아서 map을 사용해야 합니다. 

   

영상을 보면서 작성하신 코드와 영상의 코드가 어떻게 다른지 확인하면 조금 더 쉽게 문제의 원인을 찾을 수 있습니다. 

  

감사합니다.