ケイと値のペアからネイティブに反応するピッカー要素のキー値を入力しようとしています。キーと値のリストを渡そうとすると、アプリがクラッシュします。
例: (これは機能しません)
-- In the constructor
stateList: [{1:'Fortsworth'},{2:'Chicago'}],
--In the render()
this.state.stateList.map( (s, i) => {
console.log('key='+i+',value='+s);
return <Picker.Item key={i} value={s} label={s} />
});
ただし、キーと値のペアなしで配列を渡す場合にのみ機能します。以下のコードは機能します。
-- In the constructor
stateList: ['Fortsworth','Chicago'],
--In the render()
this.state.stateList.map( (s, i) => {
console.log('key='+i+',value='+s);
return <Picker.Item key={i} value={s} label={s} />
});
キーを「1」、値を「Fortsworth」としてピッカーに渡す必要があります。ご意見をお待ちしております。
これは、これを行うために私が知っている唯一の方法です。
Object.keys(this.state.stateList).map(function(key) {
let value = this.state.stateList[key];
console.log('key=' + key + ',value=' + value);
return <Picker.Item key={key} value={value} label={value} />
}
基本的に、キーのリストをループし、そのキーを使用してマップから値をプルします。
誰かがもっと良い解決策を持っているなら、私もこれに興味があるので、ぜひ答えとしてそれを提供してください。
編集:
申し訳ありませんが、マップ エントリのリストがあることに気付きました。私の答えとしては、あなたはstateList
地図である必要があります:
stateList: {1:'Fortsworth', 2:'Chicago'}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加