2018年3月13日
プログラミング
Pickerを使ってみる【これからはじめるReact Native】


目次
はじめに
前回はWebViewの使用方法をご紹介しました。
今回は選択肢を回転させながら選択できる、Pickerの使い方をご紹介します。
イメージが湧きづらいと思いますが、このようなものがPickerです。

Picker
では、今回もExpoで開発していきます。
サンプルコードはこちらです。
ポイントを解説していきます。
まずこちらでPickerコンポーネントをインポートしています。
import { Picker, Text, View, StyleSheet } from 'react-native';
constructor(props) {
super(props)
this.state = {
job: '',
}
}
次にこちらでstateの初期化を行っています。jobというkeyに値を設定しています。
<Picker
style={[styles.picker]} itemStyle={styles.pickerItem}
selectedValue={this.state.job}
onValueChange={(itemValue) => this.setState({job: itemValue})}
>
<Picker.Item label="アプリ開発" value={1} />
<Picker.Item label="インフラ構築" value={2} />
<Picker.Item label="メディア運営" value={3} />
<Picker.Item label="Webデザイン" value={4} />
</Picker>
selectedValue={this.state.job}
selectedValue というpropsは、選択された値がどの値なのか指定するものです。
わかりづらいかもしれませんが、例えば selectedValue={3}
このようにすると値が3である「メディア運営」がどの値を選んでも選択されます。
onValueChange={(itemValue) => this.setState({job: itemValue})}
onValueChangeはPicker.Itemが選択されたときに発動します。
そして{(itemValue) => this.setState({job: itemValue})} は、itemValueには、その次のPicker.Itemのvalueが入ります。
そしてthis.setState({job: itemValue}) で初期化したjobにitemValue、つまりPicker.Itemのvalueが入る形となります。
<Picker.Item label="アプリ開発" value={1} />
<Picker.Item label="インフラ構築" value={2} />
<Picker.Item label="メディア運営" value={3} />
<Picker.Item label="Webデザイン" value={4} />
こちらでは、Pickerの選択肢を指定しています。
labelに表示する名前、そしてvalueに設定する値を指定しています。
つまり、まとめるとこのような流れになります。
constructorでstateを初期化PickerでItemが選択されるとonValueChangeが走り、stateのjobにvalueが設定されるselectedValueの値にthis.stateのjob、つまり2で設定されたvalueが設定される(Pickerで選択されたものが表示される)
まとめ
Pickerの動きについてご説明しました。
シンプルな動きですが、stateやonValueChangeの動きなどは他のコンポーネントにも応用できる考え方の為、ぜひ理解しておきましょう。
また、iOSやAndroidのOS毎に異なる動きをするものなので、どちらもOSでも確認してみてください。
どのPropsがどのOSに対応しているかはこちらのリファレンスをご参照ください。
Picker 公式リファレンス
React Nativeのお仕事に関するご相談
Bageleeの運営会社、palanではReact Nativeに関するお仕事のご相談を無料で承っております。
zoomなどのオンラインミーティング、お電話、貴社への訪問、いずれも可能です。
ぜひお気軽にご相談ください。
この記事は
参考になりましたか?
0
0
関連記事

2021年8月30日
React Navigation 6.0のStack Navigatorの大きく変わった箇所の変更点をまとめてみた

2021年1月4日
react-native-svgを使ってReact NativeでSVGを扱う

2019年12月23日
Expo Bare Workflow で Firebase Analytics を設定する

2018年12月6日
【React Native】キーボードで画面が隠れる場合の対処法

2018年7月13日
TypeScriptでReact Native開発をする方法2018年最新版

2018年6月29日
React Navigationのタブナビゲーションをカスタマイズしてみよう!
簡単に自分で作れるWebAR
「palanAR」はオンラインで簡単に作れるWebAR作成ツールです。WebARとはアプリを使用せずに、Webサイト上でARを体験できる新しい技術です。
palanARへ








