如何在React-native中制作e.target.value?

Jam*_*mas 5 react-native

我正在将 React 转移到 React Native。
\n但我坚持使用 e.target.value 来解决这个问题。
\n这是一段运行良好的 React 代码。

\n
  _searchContact = (e) => { this.state.keyword \n    this.setState({\n      keyword : e.target.value\n    });\n  }\n\n\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\xe3\x85\xa1\n\n    <input\n      name="keyword"\n      placeholder="Search"\n      value={this.state.keyword} \n      onChange={this._searchContact} \n    />\n
Run Code Online (Sandbox Code Playgroud)\n

然后我又尝试用React-native的方式来写
\n但是不行。

\n
  _searchContact = (e) => { \n    this.setState({\n      keyword : e.nativeTarget.value\n    });\n  }\n\n      \n\n     <TextInput\n        style={{height: 40, borderColor: 'gray', borderWidth: 1}}\n        name="keyword"\n        placeholder="Search"          \n        onChangeText={this._searchContact}        \n        value={this.state.keyword} \n    />\n
Run Code Online (Sandbox Code Playgroud)\n

小智 5

如果您正在使用,onChangeText则必须使用匿名函数并像这样传入“文本”

(text) => this._searchContact(text)
Run Code Online (Sandbox Code Playgroud)

并且不要将 e 传递到您的方法中,而是将 test 作为参数传递并将关键字设置为等于文本。

 _searchContact = (text) => { 
 this.setState({
  keyword : text
 });
}
Run Code Online (Sandbox Code Playgroud)