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


はじめに
以前、button
コンポーネントとそのイベントについて解説しました。
今回もボタンに関するコンポーネントをご紹介します。
button
と似ているTouchableOpacity
コンポーネントを使用することでボタンが表示され、タップされると透明度が下がります。(より透明になる)
TouchableOpacity を使ってみる
では、早速TouchableOpacity
を使ってみましょう。
今回作成するサンプルのイメージはこちらです。
コードの解説
いつものようにコードを見ていきます。
import { TouchableOpacity, Text, View, StyleSheet } from 'react-native';
こちらでTouchableOpacity
コンポーネントをインポートしています。
state = { count: 0 }
state
のcount
に0を設定しています。
おなじみの初期化処理ですね。
onPress = () => {
this.setState({
count: this.state.count+1
})
}
こちらはonPress
メソッドです。
state
のcount
に、自分自身に1を足したものを設定しています。
(オートインクリメント)
<TouchableOpacity
style={styles.button}
onPress={this.onPress}
>
<Text> Touch Here </Text>
</TouchableOpacity>
TouchableOpacity
コンポーネントです。
onPress
が実行された際に先程のonPress
を設定しています。
<Text style={[styles.countText]}>
{ this.state.count !== 0 ? this.state.count: null}
</Text>
こちらはonPress
でカウントアップした、state
のcount
を表示しています。
Text
の中には以前解説した三項演算子が記載されていますね。
state
のcount
が0以外の場合にはstate
のcount
が表示され、count
が0の場合にはnull
、つまり何も表示されません。
まとめ
TouchableOpacity
コンポーネントの動きは、styleを調整すればButton
コンポーネントでも実現はできます。
ですが、1つのコンポーネントでシンプルに実現可能なので、ぜひボタン関連のアクションで必要な場合には使ってみてください。
React Nativeのお仕事に関するご相談
Bageleeの運営会社、palanではReact Nativeに関するお仕事のご相談を無料で承っております。
zoomなどのオンラインミーティング、お電話、貴社への訪問、いずれも可能です。
ぜひお気軽にご相談ください。
この記事は
参考になりましたか?
4
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へ
palanでは一緒に働く仲間を募集しています
正社員や業務委託、アルバイトやインターンなど雇用形態にこだわらず、
ベテランの方から業界未経験の方まで様々なかたのお力をお借りしたいと考えております。
運営メンバー

Eishi Saito 総務
SIerやスタートアップ、フリーランスを経て2016年11月にpalan(旧eishis)を設立。 マーケター・ディレクター・エンジニアなど何でも屋。 COBOLからReactまで色んなことやります。
sasakki デザイナー
アメリカの大学を卒業後、日本、シンガポールでデザイナーとして活動。

やまかわたかし デザイナー
フロントエンドデザイナー。デザインからHTML / CSS、JSの実装を担当しています。最近はReactやReact Nativeをよく触っています。
Sayaka Osanai デザイナー
Sketchだいすきプロダクトデザイナー。シンプルだけどちょっとかわいいデザインが得意。 好きな食べものは生ハムとお寿司とカレーです。

はらた エンジニア
サーバーサイドエンジニア Ruby on Railsを使った開発を行なっています

こぼり ともろう エンジニア
サーバーサイドエンジニア。SIerを経て2019年7月に入社。日々学習しながらRuby on Railsを使った開発を行っています。

ささい エンジニア
フロントエンドエンジニア WebGLとReactが強みと言えるように頑張ってます。

Damien
WebAR/VRの企画・開発をやっています。森に住んでいます。

ゲスト bagelee

かっきー

まりな

suzuki
miyagi

ogawa
雑食デザイナー。UI/UXデザインやコーディング、時々フロントエンドやってます。最近はARも。

いわもと
デザイナーをしています。 好きな食べ物はラーメンです。

taishi kobari
フロントエンドの開発を主に担当してます。Blitz.js好きです。

kubota shogo
サーバーサイドエンジニア。Ruby on Railsを使った開発を行いつつ月500kmほど走っています!
nishi tomoya

aihara
グラフィックデザイナーから、フロントエンドエンジニアになりました。最近はWebAR/VRの開発や、Blender、Unityを触っています。モノづくりとワンコが好きです。
nagao
SIerを経てアプリのエンジニアに。xR業界に興味があり、unityを使って開発をしたりしています。

Kainuma
サーバーサイドエンジニア Ruby on Railsを使った開発を行なっています

sugimoto
asama
ando
iwasawa ayane

oshimo
異業界からやってきたデザイナー。 palanARのUIをメインに担当してます。 これからたくさん吸収していきます!