道具类型失败:提供给 'TextInput' React Native 的 'object' 类型的道具 'value' 无效
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 中)时出现以下错误:"Failed prop type: Invalid prop 'value' of type 'object' supplied to '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={}/>
。所以我遇到了这个问题。请先检查您的道具类型是否正确。它对我有用。
我有以下 TextInput 组件:
<TextInput value={this.state.inputText}
maxLength={1}
onSubmitEditing={this.textHandler}
onChangeText={(text) => this.setState({inputText: text})} />
当我将输入更改为“”并提交(在 TextInput 中)时出现以下错误:"Failed prop type: Invalid prop 'value' of type 'object' supplied to '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={}/>
。所以我遇到了这个问题。请先检查您的道具类型是否正确。它对我有用。