inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

핸즈온 리액트 네이티브

10.1 :: 사진 선택 화면 만들기

defaultProps 관련 문의 드립니당

해결된 질문

244

dvdve

작성한 질문수 21

0

아래처럼 defaultProps 가 곧 사라진다는 경고가 뜨는데요


(NOBRIDGE) ERROR Warning: HeaderRight: Support for defaultProps will be removed from function components in a future major release. Use JavaScript default parameters instead.

in HeaderRight (created by SceneView)

in RNSScreenStackHeaderSubview (created by ScreenStackHeaderRightView)

in ScreenStackHeaderRightView (created by SceneView)

in RNSScreenStackHeaderConfig (created by ScreenStackHeaderConfig)

in ScreenStackHeaderConfig

in RNSScreen (created by Animated(Anonymous))

in Animated(Anonymous)

in Suspender (created by Freeze)

in Suspense (created by Freeze)

in Freeze (created by DelayedFreeze)

in DelayedFreeze

in InnerScreen (created by Screen)

in Screen

in ScreenStackItem (created by SceneView)

in SceneView (created by NativeStackView)

in RNSScreenStack (created by ScreenStack)

in Unknown (created by ScreenStack)

in ScreenStack (created by NativeStackView)

in RNCSafeAreaProvider (created by SafeAreaProvider)

in SafeAreaProvider (created by SafeAreaProviderCompat)

in SafeAreaProviderCompat (created by NativeStackView)

in NativeStackView (created by NativeStackNavigator)

in PreventRemoveProvider (created by NavigationContent)

in NavigationContent

in Unknown (created by NativeStackNavigator)

in NativeStackNavigator (created by MainStack)

in MainStack (created by Navigation)

in ThemeProvider

in EnsureSingleNavigator

in BaseNavigationContainer

in NavigationContainerInner (created by Navigation)

in Navigation (created by App)

in UserProvider (created by App)

in App (created by withDevTools(App))

in withDevTools(App)

in RCTView (created by View)

in View (created by AppContainer)

in RCTView (created by View)

in View (created by AppContainer)

in AppContainer

in main(RootComponent)


어떻게 해결해야 하는지 궁금해서 질문 남깁니다!

react-native

답변 2

1

김범준

안녕하세요,

 

에러메시지에서 설명하는대로 하면 됩니다.

defaultProps가 다음 릴리즈에서 삭제될 예정이니 JavaScript에서 지원하는 default parameter를 이용하라는 얘기입니다.

 

예를 들어, HeaderRight 컴포넌트에서는

https://github.com/dvrakry/rn-photo/blob/master/src/components/HeaderRight.js#L6

6 라인을 다음과 같이 수정하고,

const HeaderRight = ({ onPress, disabled = false }) => {

defaultProps 코드를 삭제하면 됩니다.

 

감사합니다.

0

dvdve

감사합니다 선생님!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. dvdve님.

리액트의 function components에서 defaultProps가 곧 사라진다는 경고 메세지를 보신 것 같습니다. 이는 기본 prop 값을 제공하는 방식을 개선하기 위한 변화입니다. JavaScript default parameters로 대체할 것을 추천하고 있습니다.

다음은 defaultProps를 대체하여 사용할 수 있는 방법에 대한 간단한 예시입니다:

기존의 defaultProps 사용 방법:

function HeaderRight(props) {
  // 컴포넌트 로직
}

HeaderRight.defaultProps = {
  title: 'Default Title',
};

위의 defaultPropsJavaScript default parameters로 변경하는 방법:

function HeaderRight({ title = 'Default Title' }) {
  // 컴포넌트 로직
}

변경된 방식은 파라미터 목록에서 바로 기본 값을 설정하여 더 간결하게 작성할 수 있습니다.

관련해서 다음 링크를 통해 비슷한 상황에서의 해결 방법을 참고하실 수 있습니다:
- expo SDK51 관련 질문입니다.

이 링크에서는 expo의 SDK 변경으로 인한 defaultProps 관련 경고에 대한 설명과 해결 방안을 다루고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

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

0

342

2

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

0

147

2

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

0

132

2

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

0

177

2

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

0

104

2

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

0

144

2

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

0

85

2

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

0

76

2

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

0

124

2

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

0

140

2

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

0

111

2

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

0

142

1

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

0

88

2

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

0

113

2

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

0

129

2

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

0

87

2

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

0

108

2

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

0

98

2

SIgnIn SignUp 화면이 안나옵니다.

0

126

2

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

0

100

2

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

0

208

2

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

0

747

1

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

0

236

2

[환경변수 설정]

0

272

1