2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

React Native + expoでチェックボックスを実装してみた

Posted at

##React Nativeでチェックボックスを実装してみた
現在、React Natie + expoでiOSでもAndroidでも動作するチェックボックスを実装したいと考えています。

そこで情報収集をしたので、まとめておこうと思います。

##expoのCheckBoxは利用できない
検索した結果、まずはじめにExpoのCheckBoxがヒットしたので、調べて見ると、どうもiOSで動作しないとのこと。

参考:Expo Docs

##他のUIライブラリを検討することに
expoを利用できなかったので、他のUIライブラリを利用することとしました。

調査したUIライブラリ
・React Native Paper
・React Native Elements

####React Native Paperのチェックボックス

公式Doc

####React Native Elementsのチェックボックス
公式Doc

各サイト等を確認した結果、UI・利用用途として今回はReact Native Elementsの方が合っていましたので、React Native Elementsで実装していこうと思います。

##React Native Elementsの実装
####STEP1:インストール

npm install react-native-elements

####STEP2:チェックボックスを利用するjsxでimport

〇〇.jsx
import { CheckBox } from 'react-native-elements'

####STEP3:CheckBoxを実装

〇〇.jsx
import { CheckBox } from 'react-native-elements'

export default function App() {
  return (
    <CheckBox
      title='Click Here'
    />
  )
}

####STEP4:CheckBoxの状態をセットする変数を宣言、その変数を元に状態を表示

〇〇.jsx
import { CheckBox } from 'react-native-elements'

export default function App() {
  const [checked, setCheck] = useState(false);

  return (
    <CheckBox
      title='Click Here'
      checked={state.checked}
    />
  )
}

ここで確認!
シュミレーターでiOS、Android共にチェックがついた(true)の状態でチェックボックスが表示されているはずです!

※タップ動作の設定はしていないので、タップしても動作はしません

####STEP5:動作を設定する
onPressを用いて動作を設定します

〇〇.jsx
import { CheckBox } from 'react-native-elements'

export default function App() {
  const [checked, setCheck] = useState(false);

  return (
    <CheckBox
      title='Click Here'
      checked={state.checked}
      onPress={() => setCheck(!checked)}
    />
  )
}

完成!
これで動作するはずです!
checkdにtrue or falseが代入されていますので、それを利用します。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?