Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
Ring
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート
メインコンテンツへスキップ
VideoDetailScreenにはフォーカス可能なボタンを2つ追加する必要があるため、独自のボタンコンポーネントを作成します。これにより、コードの重複がなくなり、ボタンをアプリ全体で再利用できます。

Buttonコンポーネントの定義

  • componentsフォルダにButton.tsxという新しいファイルを作成します。
  • 「react」からReactとuseStateをインポートします。
  • 「react-native」からStyleSheet、Text、TouchableOpacityをインポートします。
  • pressFunctionとbuttonTextという2つの引数を取るButtonというアロー関数を作成します。
  • インターフェイスの各引数を分割し、:IPropsを追加してオブジェクトの各引数に型を適用します。pressFunctionは関数になり、buttonTextは文字列になります。
  • importステートメントの下に、プロパティの型を宣言するインターフェイスを作成します。
  • 空のフラグメントを追加し、その中にTouchableOpacity要素を追加します。
Buttonを押下可能にするには、onPress()を指定する必要があります。
  • onPressプロパティをTouchableOpacityに追加し、pressFunctionを呼び出すようにその値を設定します。
  • TouchableOpacity内にTextコンポーネントを追加し、buttonTextの値を取り込むように設定します。
次に、ボタンが選択されていることをユーザーにわかりやすく示すため、TouchableOpacityにonFocus()プロパティとonBlur()プロパティを追加しましょう。
  • reactからuseStateをインポートし、focusedの状態とsetFocusedの関数で初期化します。
  • focusedの値をfalseに初期化します。
  • TouchableOpacityにonFocusプロパティを追加し、値をtrueにしてsetFocused()関数を呼び出すように設定します。
  • TouchableOpacityにonBlurプロパティを追加し、値をfalseにしてsetFocused()関数を呼び出すように設定します。
Button.tsxのコードは次のようになります。

スタイルの追加

次に、スタイルを追加しましょう。
  • stylesというStyleSheetを作成し、Button関数の後に追加します。
  • 次の値でbuttonContainer、buttonText、focusedの各スタイルをStyleSheetに追加します。
TouchableOpacityには、focusedの値に応じたスタイルプロパティがあります。
  • TouchableOpacityにbuttonInnerContainerのスタイルプロパティとfocusedの条件付きスタイルプロパティを指定します。
  • ViewコンポーネントにbuttonOuterContainerスタイルを追加します。
最終的なButton.tsxコードは次のようになります。
最終更新日 2026年10月26日