下面我有一些工作正常的代码(基于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
答案 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>
希望这有帮助。