2016-04-16 4 views
1

Ich versuche, eine Komponente in meiner nativen App zu zeigen/auszublenden. Eine verkürzte Version des Codes, den ich verwende, wurde von Hide/Show components in react native inspiriert. Der Code lautet wie folgt:Fehler beim Ein-/Ausblenden der Komponente mit Statusänderung im reaktiven nativen

'use strict'; 
var React = require('react-native'); 
var { 
    Text, 
    Navigator, 
} = React; 


class SomePage extends Component { 

    constructor(props) { 
    super(props); 
    this.state = { 
     showView : true, 
    }; 
    } 

    render() { 
    return (
     <Navigator 
      renderScene={this.renderScene.bind(this)} 
     /> 
    ); 
    } 

    testRender() 
    { 
    return (
     <Text>ShowView: {this.showView}</Text> 
     ) 
    } 

    renderScene(route, navigator) { 
    if (this.state.showView){ 
     return ({this.testRender.bind(this)}) 
    } 
    else 
    { 
     return (<Text>ShowView: {this.showView}</Text>) 
    } 
    } 
} 

Der Code ist leider nicht funktioniert, und ist ein "unerwarteten Token-Fehler" auf den

return ({this.testRender.bind(this)}) 

werfen Wenn ich die Linie als

return (this.testRender.bind(this)) 
schreiben

Der Fehler verschwindet, aber ich bekomme nur einen leeren Bildschirm. Irgendeine Idee, was ich hier falsch mache?

Antwort

2

Bind ist nicht der richtige Weg hier. Sie müssen die Funktion aufrufen.

renderScene(route, navigator) { 
    if (this.state.showView){ 
     return this.testRender(); 
    } 
    else 
    { 
     return (<Text>ShowView: {this.showView}</Text>) 
    } 
    } 
+0

Alter! Ich danke dir sehr! Das ließ mich für ein paar Stunden im Kreis drehen! – user714852

Verwandte Themen