2017-07-18 9 views
0

に反応:失敗しましたプロップタイプ:タイプの無効な小道具「の値」「オブジェクト」「のTextInput」に供給し、私は次のTextInputコンポーネントを持つネイティブ

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

私は「に入力を変更すると」と(それを提出)のTextInputに私は次のエラーを持っている:「失敗プロップタイプ:タイプの無効な小道具 『の値』 『オブジェクト』 『のTextInput』に付属の」

は、私は、各コールバックを削除しようとしたと明らかに誤差があるためthrowedされます'onSubmitEditing'の

textHandler = (text) => { 

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

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

どのように私は、コールバックは、テキストが文字列ではなくオブジェクトである場合にのみ呼ばれるようにすることができますか?

答えて

0
あなた onSubmitEditing

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

にその機能変更

、そしてあなたはそれに値を渡されていません。あなたが渡したい場合は、event

からそれを得ることができますしかし、あなたはそうあなただけの値が存在するかどうかを確認する必要がありinputTextを更新しますonChangeTextを使用していました。

+0

解決済みですか? –

+0

はい、うまくいきました。どうもありがとう! Btw素敵な説明:)。 – Michael

関連する問題