2017-12-25 25 views
2

초기 화면 스플래시는 홈 화면 & 매개 변수 집합으로 이동하는 것보다 큽니다. 사이드 바 구성 요소 안의 매개 변수를 가져 오려고합니다.반응 네이티브 서랍 구성 요소 외부의 반응 네비게이션 매개 변수에 액세스하는 방법

const navigateActionHome = NavigationActions.navigate({ 
    routeName: 'drawerStack', 
    action: NavigationActions.navigate({ 
     routeName: 'HomeScreen' , 
     params : { username : 'Testing' } 
    }) 
}) 
this.props.navigation.dispatch(navigateActionHome) 

// drawer stack 
const DrawerStack = DrawerNavigator({ 
    Home: { screen: DashboardScreen }, 
    HomeScreen: { screen: HomeScreen } 
},{ 
    contentOptions: { 
     activeTintColor: "red" 
    }, 
    gesturesEnabled: false, 
    swipeEnabled: false, 
    contentComponent: props => <SideBar {...props} /> 
}); 

홈 스크린 구성 요소에서 "username"매개 변수를 가져올 수 있지만 사이드 바 구성 요소에서 "username"매개 변수를 가져올 수 없습니다. 당신은 화면의 "소품"가 아니라 PARAMS을 전달하는

contentComponent: props => <SideBar {...props} /> 

:

답변

0

난 당신이 여기에이 화면을 시작할 때 있다고 생각합니다. 그것들은 동일하지 않습니다. 당신은 당신의 스크린이 그 소품을 가지고 있는지보기 위해 어디에서나 디버깅과 멈춤으로써 확인할 수 있습니다.

그냥 당신이 화면에서 해당 사용자 이름의 PARAM을 받고 어떤 방식으로 받아 당신은 다음과 같이 추가 할 수 있습니다 :

contentComponent: props => <SideBar {...props} username={myUsername} /> 
+0

것은 내가 데이터를 밀어 수있는 방법 API에서 "MyUserName 에다"에 –