inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

12.11) Home 페이지 구현하기 2. 기능

useEffect의 dependency array에 빈 배열

380

frontluv123

작성한 질문수 1

0

안녕하세요.10분 30초 쯤에useEffect(() => { }, [originData, isEdit]);여기서 만약 dependency array에 빈 배열을 전달해주면 구체적으로 어떤 문제가 생기나요?home에서 일기 수정하기 버튼이나 새로 만들기 버튼을 누를 때마다 DiaryEditor가 mount 된다고 생각하여 빈 배열을 넣어줘도 된다고 생각했는데, 그게 아니라 리렌더가 되는 건가요?  

javascript react node.js

답변 1

0

이정환 Winterlood

안녕하세요 이정환입니다.

결론부터 말씀드리자면 그렇게 하셔도 문제가 발생하지는 않습니다.

다만 Edit 컴포넌트에서 originData State에 값이 초기화 되기 이전에 DiaryEditor의 렌더링이 발생하게 된다면 DiaryEditor는 originData를 undefined으로 읽어가는 문제가 발생할 수 있습니다.

그러나 이 문제를 방지하기 위해 우리 프로젝트에서는 Edit 컴포넌트의 리턴문 내부에 {originData && <DiaryEditor/>} 같이 단락회로 평가를 이용해 originData State의 초기값 설정이 완료된 경우에만 DiaryEditor 컴포넌트를 렌더링 하도록 해 두었기 때문에 이런 문제는 발생하지 않을 텐데요

그럼에도 Edit 페이지의 변경 사항에 일부 실수가 있거나 향후 originData State의 값에 변동이 생길 경우에도 충분히 대응할 수 있도록 그렇게 처리하였습니다.

0

frontluv123

빠른 답변 감사드립니다!! 그럼 home에서 일기 수정하기 버튼이나 새로 만들기 버튼을 누를 때마다 DiaryEditor가 리렌더가 아닌 mount 되는 것은 맞는 건가요?

0

이정환 Winterlood

안녕하세요 이정환입니다.

넵! 맞습니다. React Router에 의해 새로운 페이지가 렌더링되면서

DiaryEditor도 동시에 렌더링됩니다.

 

다만 향후에 그럴일은 없겠지만,

Edit 페이지에서 New 페이지로 이동하는 기능이 추가되게 될 경우에는

두 페이지에 모두 DirayEditor가 동일하게 등장하기 때문에

이때에는 Unmount되었다가 Mount되지 않는다는 점도 기억해두시면 더 좋을 것 같습니다!

useEffect와 lifecycle문의

0

34

2

프론트엔드 학습 수준 문의

0

46

2

리액트 챕터별 코드에서 eslint 설정파일이 없어요

0

52

2

데이터 로딩중 화면만 계속 나와요!!

0

56

2

퍼블리셔일경우 어느정도 수준까지 강의를 들어야할까요

0

81

2

이후의 커리큘럼 문의

0

102

2

실슬환경 설정에서 save후 console.log 부분이 새로고침이 안되는현상입니다.

0

52

2

최적화 관련 질문있습니다 (useMemo 등)

0

85

3

프로바이더 컴포넌트의 위치는 어떤 기준인가요?

1

82

3

Date 객체에 관련하여 질문드립니다.

0

86

2

리액트 개정판 교재 질문

0

60

2

예제코드가 안나와요!

0

78

2

select a variant 선택에서 javascript와 javascript+react compiler 중 무엇을 선택해야하나요? com

0

110

2

onMouseEnter 관련 문의 드립니다

0

93

3

배열의 렌더링 관련 질문 드립니다.

0

73

2

2:40초 refObj를 콘솔로 출력시 오류가 발생합니다.

0

113

2

TS, 리액트 강의중에 뭘 먼저 수강하는게 좋을까요?

0

138

2

useCallback 적용한 onCreate, onUpdate, onDelete 함수..

0

71

1

vs code 자동완성관련 문의

0

115

2

91강 useEffect내에서 상태변화함수 호출시 발생하는 에러

1

182

2

87강 필터 함수 질문

0

69

2

useRef, useState count 비교

0

67

2

안된다고했던 이유가 무엇이었는지 모르겠습니다

0

91

2

85강에서 객체를 왜 클래스로 만들어서 new 하지 않는건지 궁금합니다.

0

77

2