React Nativeでモーダル表示


一時的な情報表示のためモーダル(ポップアップウィンドウ)を使いたい。

React Nativeの基本コンポーネントにModalがありますが、カスタムコンポーネントを使った方が楽できそうでもあったのでとりあえず3パターン試してみます。

React Native 0.60 Expo 34.0.1

基本のModal

React NativeコンポーネントにModalが用意されている。

カスタマイズすれば用途に合わせたモーダルを作れるけど多少ごちゃつくのでコンポーネントを分けて作る方がよさそうです。

アニメーションは「なし、フェード、スライド」が選べるがスライド以外は唐突に変わるように見えて使いにくい。

react-native-modal★2855

コミュニティによってつくられたモーダルコンポーネント。調べた時点で1番人気。

基本的な使い道だとこれで十分そう。

react-native-modalbox★2435

2番人気とはいえ個人で作られているものでこれだけ使われているのはすごい。

モーダル自体の表示/非表示をstateで管理しなくてよくて、ボタンなどにも結び付けやすく使いやすい。

動作確認

カスタムコンポーネントは色々できますが、一番基本的な方法でボタンとモーダルを一緒に書いてみます。

modalboxが一番シンプルに書けるし組み込みやすい気がする。

あとどの方法でも適当に書くとヘッダ(ステータスバー)部分がおかしなことになりやすい。


コメントを残す

メールアドレスが公開されることはありません。