inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

핸즈온 리액트 네이티브

5.6 :: 헤더 왼쪽 버튼

useNavigation Hook 사용 위치

466

knh

작성한 질문수 2

0

안녕하세요.

useNavigation Hook 사용 위치가

컴포넌트 내부가 아니기 때문에 오류가 나서

그걸 따로 컴포넌트를 만들어서 그 안에 넣고 해결하셨는데,

그렇게 안하고 그냥 AuthStack 컴포넌트 안에 (10열) useNavigation을 위치시키면 안되나요?

(5.6 :: 헤더 왼쪽 버튼) 

...

const AuthStack = () => {
  const navigation = useNavigation();
  return (
    ...
  );
  ...
};

react-native

답변 1

1

김범준

안녕하세요 knh님,

 

네, AuthStack 에서 useNavigation을 사용해도 됩니다.

다만, 이렇게 할 경우, AuthStack에 headerLeft 코드를 유지해야 합니다.

혹은 HeaderLeft 컴포넌트를 따로 만든다 하더라도 props로 navigation을 전달해줘야 합니다.

HeaderLeft 컴포넌트를 만든다면, navigation을 props로 전달받기 보다는 HeaderLeft 컴포넌트 안에서 useNavigation을 호출하는 것이 코드 관리에 있어 더 좋습니다.

 

정리해보면,

  1. AuthStack에서 useNavigation을 사용하면 왼쪽 버튼 코드를 AuthStack에서 유지해야 하는데, 코드가 길어질수록 가독성이 떨어지고 관리하기 좋지 않습니다.

  2. HeaderLeft 컴포넌트를 따로 만든다면, useNavigation을 AuthStack에서 사용할 이유가 없습니다.

 

감사합니다.

0

knh

감사합니다 강의 잘보고있습니다 ^0^

expo 가 업데이트 되면서 문제가 발생한거같습니다.

0

355

2

navigation.replace() 작동하지 않습니다.

0

153

2

UpdateProfileScreen 에서 사진 버튼 클릭시 오류발생.

0

137

2

닉네임 수정 후 확인 버튼을 누를시 한글자만 출력됩니다.

0

181

2

모달창에서 버튼이 출력되지 않습니다.

0

109

2

로그인 에러 출력시 default값만 나옵니다.

0

151

2

안드로이드 기기에서 SignUp 화면 관련 질문드립니다.

0

94

2

간단한 질문 하나만 드리겠습니다!

0

80

2

text.trim() 부분에서 오류가 발생합니다.

0

131

2

profile 화면에서 내가 쓴 글이 나타나지 않습니다.

0

145

2

글 저장시 파일 저장위치 관련 질문드립니다!

0

117

2

구글 지도 API 관련 오류로 질문드립니다!

0

149

1

HeaderRight 버튼이 작동하지 않습니다.

0

94

2

사진이 나오지 않는 문제로 질문드립니다.

0

118

2

defaultProps 관련 문의 드립니당

0

252

2

이미지 목록을 받아오는 부분에서 IOS 에서 문제가 발생합니다.

0

135

2

안드로이드 기기에서 헤더 부분이 작동이 안됩니다.

0

92

2

[TypeError: unsubscribe is not a function (it is undefined)] 오류 발생으로 질문드립니다.

0

114

2

7.15 :: 상태 변수와 컴포넌트 언마운트 관련 질문드립니다!

0

104

2

SIgnIn SignUp 화면이 안나옵니다.

0

130

2

마지막 useEffect 부분 질문드립니다.

0

104

2

ImagPickerScreen을 만드는 과정에서 문제가 발생하여 글을 남깁니다.

0

213

2

eslint.config.mjs 파일에 plugin 설정방법

0

752

1

ESLint.json 파일이 생성되지 않습니다.

0

242

2