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



我正在将 React 转移到 React Native。
但是我坚持使用e.target.value的问题。
这是 React 的代码,运行良好。

  _searchContact = (e) => { this.state.keyword 
    this.setState({
      keyword : e.target.value
    });
  }
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
    <input
      name="keyword"
      placeholder="Search"
      value={this.state.keyword} 
      onChange={this._searchContact} 
    />

我试图用反应原生
的方式再次写作但它不起作用。

  _searchContact = (e) => { 
    this.setState({
      keyword : e.nativeTarget.value
    });
  }
      
     <TextInput
        style={{height: 40, borderColor: 'gray', borderWidth: 1}}
        name="keyword"
        placeholder="Search"          
        onChangeText={this._searchContact}        
        value={this.state.keyword} 
    />
如果你

正在使用onChangeText你必须使用一个匿名函数并像这样传入"text"

(text) => this._searchContact(text)

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

 _searchContact = (text) => { 
 this.setState({
  keyword : text
 });
}

只需使用 e 作为值并将其设置为 setState 中的keyword

您的代码应仅适用于以下代码:

_searchContact = (e) => { 
    this.setState({
      keyword : e
    });
  }

实际上,当文本输入的文本更改时,onChangeonChangeText都会触发,但onChange不提供更改的文本,它只是一个暗示回调,因此为了提取当前正在键入的文本的值,onChangeText给出一个回调,将更改的文本作为回调的参数。

有关参考,请阅读此内容。

相关内容

  • 没有找到相关文章

最新更新