2017-10-31 4 views
2

내가패스 소품 StackNavigator

const MainCart = StackNavigator({ 
 
    Cart: { 
 
    screen: CartScreen 
 
    }, 
 
    Checkout: { 
 
    screen: COScreen 
 
    } 
 

 
    /* how to pass 'myprops' in this area? */ 
 

 
}); 
 

 

 
export default class ReactNative_RefreshControl extends Component { 
 

 
    constructor(props) { 
 
    super(props) 
 
    } 
 

 
    render() { 
 
    console.log('ReactNative_RefreshControl this.props.myparam : ' + this.props.myparam); 
 
    return <MainCart myprops = { 
 
     this.props.myparam 
 
    } 
 
    />; 
 

 
    //https://reactnavigation.org/docs/navigators/stack#Navigator-Props 
 
    } 
 

 

 
}

방법 StackNavigator 지역에 'myprops'을 전달하는 내 코드 여기 stacknavigator에 소품을 통과하려고? ,

export default class NavigateTo extends Component { 
    constructor(props){ 
    super(props); 

    this.state = { 
     name: this.props.navigation.state.params.movie.title, 
     year: this.props.navigation.state.params.movie.year 
    } 
    } 

영화 제목을 포함 JSON 개체입니다 :

onPressed(movie){ 
     this.props.navigation.navigate(
      'screen', 
      {movie: movie} 
     }); 
     } 

<TouchableHighlight onPress={() => this.onPressed(movie)}> 

및 기타 화면에서 당신은 다음과 같이 설정할 수 있습니다

덕분에 당신의 클릭 이벤트에

+0

그래서 문제가 무엇 유용합니다 ..? –

+0

내 나쁜, 질문 업데이트 – Ansyori

+0

당신은 탐색 영역에 소품을 전달하지 않아도됩니다. –

답변

1

이 좋아해요 년, 출시일, 수입, 포스터 등.

이것은 이전 탐색 용입니다.

onPressed(movie){ 
    this.props.navigator.push({ 
     id:'page2', 
     movie: movie 
    }); 
    } 

과 두 번째 화면에서

:이 중첩이

<Button title="Second" onPress={() => navigate("MainCart",{}, 
    { 
    type: "Navigate", 
    routeName: "Checkout", 
    params: {name:"Jo"} 
    } 
)} /> 

점검이 같은 시도보다 작동하지 않을 경우

지금
this.state = { 
     name: this.props.movie.title, 
     email: this.props.movie.year 
    } 

당신은 차이를

를 볼 수 있습니다 스택 탐색 https://github.com/react-community/react-navigation/issues/143

0

당신이 그 곳에서 소품을 사용하고 싶다면 당신은 이것을 다음과 같이 사용하십시오.

const MainCart = StackNavigator({ 
Cart: { 
    screen: props=> <CartScreen {...props} screenProps={other required prop}> 
}, 
Checkout: { 
    screen: COScreen 
} 

사가르 Chavada로 솔루션을 탐색 할 때 소품을 전달하려는 경우