簡體   English   中英

道具類型失敗:提供給“TextInput”React Native 的“對象”類型的無效道具“值”

[英]Failed prop type: Invalid prop 'value' of type 'object' supplied to 'TextInput' React Native

我有以下 TextInput 組件:

<TextInput value={this.state.inputText}
  maxLength={1}
  onSubmitEditing={this.textHandler}
  onChangeText={(text) => this.setState({inputText: text})} />

當我將輸入更改為“”並提交(在 TextInput 中)時,出現以下錯誤: “道具類型失敗:提供給“TextInput”的“對象”類型的道具“值”無效”

我嘗試刪除每個回調,顯然,錯誤是由於“onSubmitEditing”而引發的。

textHandler = (text) => {

  if(text == '' || text == '-' ){
    text = '0';
  }

  this.setState({inputText: text});
}

如何使回調僅在文本是字符串而不是對象的情況下被調用?

將您的onSubmitEditing更改為

onSubmitEditing={(event) => this.textHandler( event.nativeEvent.text )}

它是一個函數,您還沒有向它傳遞值。 如果你想通過,你可以從event中獲得

但是您已經使用了onChangeText它將更新inputText所以您只需要檢查值是否存在。

我遇到過同樣的問題。 它通常發生組件或元素的無效或錯誤的道具類型。

我的案例是<TextInput onChangeText={}/>而不是<TextInput onChange={}/> 所以我遇到了這個問題。 請先檢查您的道具類型是否正確。 它對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM