2017-05-11 2 views
2

Ich verwende den folgenden Code, um zu versuchen, den Anfangszustand festzulegen, indem ich auf den Props-Wert zugreife. Ich dachte, ich könnte es tun, indem ich auf den (Requisiten) Wert zugreife, aber es scheint leer zu sein.Zugriff auf Props-Wert innerhalb des Konstruktors

constructor(props) { 
    super(props); 

    //this.renderRowForMain = this.renderRowForMain.bind(this); 

    this.state = { 
     show: props.showModal, 
    }; 

    } 

wenn ich einfach die folgenden Insider stellt die render() dann scheint es, Laden in Ordnung zu sein.

this.state = { 
      show: this.props.showModal, 
     }; 

Was ich zu tun versuchen, ist zunächst die ShowModal Zustand auf true gesetzt und dann, wenn eine Schaltfläche zum Schließen Änderung des Zustands auf false abgegriffen wird.

+0

es wie ursprünglich sieht das 'prop showModel' leer ist oder nicht mit dem Wert, dass die Verwendung' console.log (props.showModel) '' innen constructor' zu überprüfen und sehen das Ergebnis. –

+0

Wie kann ich innerhalb des IOS-Simulators auf console.log zugreifen? – ORStudios

+0

weiß nicht darüber, Sie können auch Alarm verwenden. Überprüfen Sie dies, wie Konsole im ios-Simulator überprüfen: http://StackOverflow.com/Questions/10165641/How-Can-I-Get-the-Console-Logs-from-the-Io-Simulator –

Antwort

5

Sie sollten den Wert showModal in Ihrer übergeordneten Komponente übergeben. Andernfalls werden die Requisiten props.showModal nicht in Ihrem Konstruktor angezeigt. Zum Beispiel: <MyComponent showModal={true} /> Dann werden Sie in der Lage sein zu sehen: Konstruktor (Requisiten) { Super (Requisiten);

this.state = { 
     show: props.showModal, // true 
    }; 
} 

hoffe, das hilft

Verwandte Themen