2016-08-19 15 views
1

Pickerを使用するときに奇妙な動作が発生します。次のようにreact-native - Picker - undefinedはオブジェクトではありません(this.props.children [position] .propsを評価)

私はピッカーを使用します。

<Picker 
    mode="dropdown" 
    style={styles.pickerField} 
    selectedValue={this.state.dayAndTime} 
    onValueChange={(text) => this.setState({ dayAndTime: text })} 
> 
    <Picker.Item label="Le 5/07 à 15H" value="0" key="0" /> 
</Picker> 

このピッカーを表示した画面がロードされると、私は(下記参照スクリーンショットを)言ってエラー画面を得た:未定義「これを評価する(オブジェクトではありません。私が集めたことから、私の問題はLibraries/Components/Picker/PickerAndroid.android.jsの106行目から来ています。プロパティー "onValueChange"を持つと、それがトリガーされているようです。私はそれを削除し、エラーは起こらなかった。

私は反応ネイティブ0.31.0を使用します。私は、アンドロイドのapi 23仮想デバイスを使用しています。

私が間違っていることがありますか?

enter image description here

答えて

3

例えば、から選択するには、少なくとも2つの項目が存在する必要があります:あなたが試すことができ、より良い構文のためにも <Picker.Item label="Le 5/07 à 15H" value="0" key="0" /> <Picker.Item label="Le 5/07 à 15H" value="1" key="1" />

onValueChange={(dayAndTime) => this.setState({ dayAndTime })}

+0

おかげで、私は一つだけのアイテムを持っていました。私はそれが何百万年もの間の原因だと推測していなかったでしょう。 – vincenth

+0

これはまさに問題です。私はそのエラーがそれよりもはるかに説明的だったと思う。もう。それを指摘してくれてありがとう。 –

+0

あなたは私に同じような問題を助けることができます[ここ](http://stackoverflow.com/questions/43364833/react-native-picker-selected-value-gives-undefined-is-not-an-object-error) –

0

私は同様の問題があったが、それItemコンポーネント+配列を使用していました。そして、それを修正するために、私はそのような私のdataSource小道具にデフォルト値として空の配列を追加しました:私はこのピッカーに行くべきかについて語られていないため

<Picker style={styles.picker} mode="dropdown" { ...props }> 
    <Picker.Item label="--- Select ---" value="" /> 
    { 
     props.dataSource.map(({ label, value }) => (
      <Picker.Item key={value} label={label} value={value} /> 
     )) 
    } 
</Picker> 

PickerWithLabel.defaultProps = { 
    dataSource: [] 
}; 
関連する問題