2017-04-07 4 views
0

Wie bekomme ich den Parameter von PassProps auf der neuen Route? Übergang von "Home" zu "Single". Bestätigt, dass die Werte analysiert werden, nur nicht sicher, wie sie auf single.js abgerufen werden?Native React - Wert von PassProps Navigator abrufen

//index.ios.js 
class AwesomeNativeBase2 extends Component { 

    renderScene(route, navigator) { 
    if(route.name == 'single') { 
     return <Single navigator={navigator} /> 
    } 
    if(route.name == 'home') { 
     return <Home navigator={navigator} {...route.passProps} /> 
    } 
    if(route.name == 'update') { 
     return <Update navigator={navigator} {...route.passProps} /> 
    } 
    } 

    render() { 
    return (
     <View style={styles.container}> 
     <Navigator 
      initialRoute={{name: 'home'}} 
      renderScene={this.renderScene.bind(this)} 
     /> 
     </View> 
    ); 
    } 
} 

//home.js 
class Home extends Component { 
    navigate(routeName, property) { 
    this.props.navigator.push({ 
     name: routeName, 
     passProps: { 
     id: property 
     } 
    }); 
    } 

//single.js 
class Single extends Component { 
    render() { 
    console.log(this.props.navigator.pop()); 

Antwort

0

So wie es auch für andere Routen getan werden, fügen Sie es wie unten

renderScene(route, navigator) { 
    if(route.name == 'single') { 
     return <Single navigator={navigator} {...route.passProps}/> 
    } 
    .... 
    } 

Und innerhalb von Single Komponente, auf die Eigenschaften von passProps als this.props.id

+0

Dank, mein schlecht, sollte die hat das geschafft! –

Verwandte Themen