2016-08-01 12 views
0

Das scheint so einfach zu sein, aber ich kann es nicht herausfinden, und es scheint nirgendwo dokumentiert zu sein. Ich habe ein Textelement in meiner ReaktionsseiteInhalt des Textelements ändern React

<Text ref="WarningText" 
        style={loginStyle.warningLabel}>{this.warningText}</Text> 

Und ich möchte den Inhalt dieses Textelements ändern. Das Ändern von this.warningText hilft nicht, ruft auch nicht this.refs.WarningText.setNativeProps({text: text}); auf oder ändert irgendeinen anderen Propnamen, den ich mir vorstellen könnte.

Jede Hilfe wäre großartig, danke.

Antwort

2

Besser, Zustand anstelle von refs oder irgendetwas anderes zu verwenden. Das ist Reacts Design-Muster.

<Text style={loginStyle.warningLabel}>{this.state.warningText}</Text> 

und in Ihrem Fall können Sie den Text ändern, indem Sie den Zustand chnaging und reagieren automatisch aktualisiert Ihren Text.

this.setState({warningText: "some text"}) 

Hier sind einige weitere documentation on setState. Es gibt die meisten Hinweise zur Verwendung und nicht zur Verwendung des Status in Ihren Komponenten.

+0

schnelle Frage, müssen Sie explizit alle Ihre "Zustand" -Parameter bei einem Aufruf von setState ({...}) definieren, oder werden die undefinierten Werte in der GUI gelassen? –

+0

@DaanLuttik werden sie allein gelassen – FuzzyTree

+0

Wie @FuzzyTree sagte, werden sie in Ruhe gelassen werden. Ein besseres Designmuster für den Umgang mit Zuständen und Dingen im Allgemeinen verwendet Redux. Vielleicht möchtest du das auch überprüfen. – abeikverdi