inflearn logo
강의

Course

Instructor

React for Anyone: Core React Course for Beginners

라이프사이클 관련 질문

289

gothic9711111086

4 asked

0

벨로퍼트님께,

 

안녕하세요, 수강한지는 꽤 오래 지났고, 지금은 혼자 독학으로 프로젝트를 만들고 있는 학생입니다.

벨로퍼트님 유튜브 보면서 여러가지 배운 것들이 많고, 또 여쭤본다면 비교적 금방 해결될 수 있을 거라 생각돼 이렇게 질문을 남겨 봅니다. 혼자 약 4-5개월 동안 이것도 저것도 해봤지만, 포기하고 싶은 마음이 들기도 하다가 혹시나 해서 여쭤봅니다.

 

제가 생각하기에, 이 문제는 제가 라이프사이클 관련하여 제대로 접근하는 방법(ex. 디버깅)을 제대로 몰라서 발생한 문제라고 생각합니다. 답변 주시면 진심으로 감사하겠습니다.

 

원하는 기능: 캘린더의 날짜를 선택하고, 해당 날짜의 스케줄에 추가된 Item을 선택했을 시, 해당 Item을 수정할 수 있는 창을 띄우는 것.

문제: Item을 선택한 후, Navigation을 활용하여, onpress시 화면 변경을 시도했으나, Navigation의 내용을 불러올 수 없음.

 

github: https://github.com/Gophycal/Goplan

 

1. Eventhandelr 오류

<Agenda
        // loadItemsForMonth={loadItems}
        items={items}
        selected={'2022-05-11'}
        renderItem={renderItem}
        // Specify how agenda knob should look like
        renderKnob={() => {
          return (
            <View>
              <Text>renderKnob</Text>
            </View>
          );
        }}
        // Specify what should be rendered instead of ActivityIndicator
        renderEmptyData={() => {
          return (
            <View>
              <Text>renderEmptyData</Text>
            </View>
          );
        }}
      />
      <Button
        style={{}}
        title="+"
        onPress={() => navigation.navigate('TodoListCreation')}
      />
    </>

관련 에러로 Eventhandler 에러가 있었습니다. props를 통해, navigation을 전달하는 방식을 사용하려 했으나, renderItem 함수가 Eventhandler이기 때문에, 추가로 변수를 전달할 수 없다는 오류 메세지를 받았습니다.

 

이 오류는 Agenda 컴포넌트의 renderItem의 속성값을 통해, 변수를 전달하는 props 방식을 활용하다 발생했습니다.

 

2. 해결방안

 

나름 고민해본 해결방안입니다만, 솔직히 저는 관련 학과도 나오지 않고 독학하고 있는 중이기 때문에, 접근하기 어렵다고 판단돼 마지막으로 고려해본 방법 중 하나입니다. 바로 처음에 말씀 드렸던, 라이프사이클을 이용한 접근 방법입니다.

 

디버깅을 통해 Agenda 컴포넌트의 라이프사이클을 파악하여, 해당 함수의 순서를 찾고, 그 순서에 맞추어 해당 함수로 변수를 전달하는 방법을 찾아, renderItem 함수에 navigation을 전달하는 방식입니다.

 

현재 제가 접근하고 있는 방법입니다만, 너무나 어렵습니다. 도움 부탁드립니다.

라이프사이클 javascript react

Answer 0

key is not a prop 에러에 대하여

0

697

1

App.js에서 handleCreate 함수 생성 시 오류

0

463

1

PhoneForem.js 파일에서 [e.target.phone] : e.target.value 해줘야하지 않나요?

0

406

1

firebase에서 db 데이터 값 가져오기 중...

0

532

1

강의 교재 받을 수 있나요?

0

438

0

onClick = {smoe callback} 은 render 를 다시 호출 하나요?

0

225

0

동영상 하단에 링크가 없어요

0

314

0

var를 사용안한다 하셨는데

0

411

1

수강자료는 어디서 받나요

1

584

1

영상 링크가 변경된 것 같습니다.

10

440

0

계속 보고있지만 구동되는 방향성을 이해못하겠어요 ㅠㅠ.

0

280

0

리액트 virtualDOM 개념과 state 불변성 관련 개념이 어떻게 다른건지 궁금합니다.

0

229

0

npm 을 사용해서 create 하려니까 안되네요

0

262

0

배열안의 데이터 수정하기에서 12:19 화면 부분이 궁금해서 질문드립니다.

0

229

0

계속 PhoneForm.js 파일을 못읽는거같더니

1

267

0

this에 관해서 질문드립니다!!

0

334

1

배열 데이터 렌더링 및 관리파트에서 props로 값 가져올때 질문있습니다!

0

218

0

함수형 컴포넌트는 state를 어떤 식으로 정의하는지 궁금합니다.

0

417

1

0

343

1

import 질문

0

292

2

index.js 파일이 다릅니다

2

224

0

const {변수명} = ? 표현법

1

2862

1

create-react-app 오류 (Cannot find module './encoding/utf8')

0

277

0

shouldComponentUpdate NextProps 와 nextState 질문있습니다.

0

207

0