本机理解textInput组件

时间:2018-05-30 05:42:34

标签: reactjs react-native

下面我有一些工作正常的代码(基于this教程)然而我不明白为什么它有效。具体来说,我不明白TextInput组件如何知道我想将“thing”设置为TextInput的值。如果有类似function checkForValidUrl(tabId, changeInfo, tab) { chrome.storage.local.get(['urls'], function(result) { for (var item in result.urls) { if (tab.url.indexOf(item) > -1) { chrome.pageAction.show(tabId); //set url to the URL you want for the popup chrome.pageAction.setPopup({tabId: tabId, popup: url}) //or you could create a new window - see https://developer.chrome.com/extensions/windows.html#method-create } } }); } chrome.tabs.onUpdated.addListener(checkForValidUrl); 的东西,那对我来说会更有意义,但目前我不理解它。如果有人可以向我解释这里的语法,或者指导我使用它的一些资源,这将是很好的。请注意,我已阅读this和上面链接的教程,但我仍然不明白。如果不清楚,下面的代码存储在App.js中,它所做的只是将TextInput的当前值复制到TextInput正下方的Text组件。

thing = TextInput.value

1 个答案:

答案 0 :(得分:1)

  

具体来说,我并不了解TextInput组件是如何知道的   我想设置"事情"到TextInput的值。   所以基本上你有一个onChange事件附加,所以每当你输入onChange事件被触发并在状态中设置值。

<Text>{this.state.thing}</Text>

此行从州选择值并在您的视图中显示。

如果要将值发送到TextInput,可以像这样执行

<TextInput 
  placeholder="default"
  onChangeText={(thing) => this.setState({thing})}
  value= "your value"
/>

您没有在此处为TextInput设置任何值。你只是在输入和更新状态。在

中显示给你
<Text>{this.state.thing}</Text>

希望这有帮助。