2016-08-01 51 views
0

這看起來很基本,但我不知道要做到這一點,而且它似乎沒有記錄在任何地方。我有一個文本元素在我的反應更改文本元素的內容反應

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

頁,我想改變這種文本元素的內容。更改this.warningText沒有幫助,也不打電話this.refs.WarningText.setNativeProps({text: text});或更改我可以提出的任何其他的名稱。

任何幫助將是偉大的,謝謝。

回答

2

更好地使用狀態,而不是refs或其他任何東西。這是反應設計模式。

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

,並在活動中您可以通過chnaging狀態更改文本和反應自動更新您的文字。

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

這是一些更多documentation on setState。它給出瞭如何在組件中使用和不使用狀態的大部分細節。

+0

快速問題,您是否必須在setState({...})調用中顯式定義所有「狀態」參數,還是將未定義的值單獨留在GUI中? –

+0

@DaanLuttik他們將被單獨留下 – FuzzyTree

+0

由於@FuzzyTree表示他們將被單獨留下。一般來說,處理你的狀態和東西的更好的設計模式是使用Redux。你可能也想檢查一下。 – abeikverdi