- 화면간의 전환 시에는
navigation.navigate('화면이름', {params: '전달이름':'전달값'}
이렇게 가능
- 하지만, 애초에
navigator
에 screen
을 추가하는 초기 상황에서 스크린이 애초에 프롭을 전달받아 생성되도록 하고싶을 때에는 navigate로 해결이 안된다.
해결 코드
- 스크린 추가 시, component 대신
children
으로 프롭을 전달할 수 있다.
<tab.Screen
name="hasChildren"
children={()=><ComponentName myCustomProp={propValue}/>}
/>
- children 프롭을 전달하는 것보다, open close 안에 children 컴포넌트를 선언하는 것이 권장된다.
<Stack.Screen
name='hasChildren'
>
<ComponentName myCustomProp={propValue}/>
</Stack.Screen>
- 네비게이터를 자식으로 전달하는데, 프롭으로 전달하고 싶은게 있을 경우
<Stack.Screen
name='SettingDiagnosis'
options={{
headerShown: false,
}}
>
{(): ReactElement => (
<DiagnosisStackNavigator onPressXButton={onPressXButton} />
)}
</Stack.Screen>