ReactNativeのプラットフォーム固有のコンポーネント

スタージョブ名

これは簡単なことだと確信していますが、どのように組み合わせるかはよくわかりません。現時点では、私のアプリはiOSで完全に機能しますが、Androidと互換性のないいくつかのコントロールを使用しました。

<View style={containerStyle}>
  <Text style={labelStyle}>Drink:</Text>
  <SegmentedControlIOS
    tintColor={styleBackground}
    style={{ flex: 2 }}
    values={['Value1', 'Value2']}
    selectedIndex={this.state.drink}
    onChange={(event) => {
      this.setState({ drink: event.nativeEvent.selectedSegmentIndex });
    }}
  />
  <View style={{ flex: 1 }} />
</View>

これを修正するためにReact-Native-Segmented-Androidライブラリを使用したいと思います。私は次のようなことができるはずだと感じています。

<View style={containerStyle}>
  <Text style={labelStyle}>Drink:</Text>
  const Component = Platform.select({
      ios: () => require('SegmentedControlIOS'),
      android: () => require('react-native-segmented-android'),
  })(      
    tintColor={styleBackground}
    style={{ flex: 2 }}
    values={['Value1', 'Value2']}
    selectedIndex={this.state.drink}
    onChange={(event) => {
      this.setState({ drink: event.nativeEvent.selectedSegmentIndex });
    }}
  />);
  <View style={{ flex: 1 }} />
</View>

しかし、それは(おそらく当然のことながら)機能しません。誰かが私に正しい方法を教えてもらえますか?iOS / Androidでは2つの異なるファイルを使用できることはわかっていますが、可能であれば1つにまとめたいと思います。

ブラクカラソイ

別のコンポーネントを作成すると、このコンポーネントはプラットフォームに応じてセグメントを返しますが、代わりに内部関数を作成することもできます。レンダリングでこの関数を呼び出して、実行するプラットフォームアプリを決定し、プラットフォームに応じてセグメントを返します。

_segmentPicker() {
        if (Platform.OS == 'android') {
          return (
              <SegmentedControlIOS
        tintColor={styleBackground}
        style={{ flex: 2 }}
        values={['Value1', 'Value2']}
        selectedIndex={this.state.drink}
        onChange={(event) => {
          this.setState({ drink: event.nativeEvent.selectedSegmentIndex });
        }}
      />
            );
        } else if (Platform.OS == 'ios') {
      return (
           <SegmentedControlIOS
        tintColor={styleBackground}
        style={{ flex: 2 }}
        values={['Value1', 'Value2']}
        selectedIndex={this.state.drink}
        onChange={(event) => {
          this.setState({ drink: event.nativeEvent.selectedSegmentIndex });
        }}
      />
            );
    }
  }


render(){
 return (
  <View>
   {this._segmentPicker()}
   .
   .
  </View>
 );
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

プラットフォーム固有のコンポーネントをクロスプラットフォームコードに統合するXamarin

分類Dev

libGdxプラットフォーム固有のコード

分類Dev

Xamarinのプラットフォーム固有のリターンタイプ

分類Dev

プラットフォーム固有の構造体をインポートする方法は?

分類Dev

ReactNativeの「<Image />」コンポーネントはiOSプラットフォームでDNG拡張機能のある画像を読み込めません

分類Dev

グループ固有の子コンポーネントReact

分類Dev

実行時にプラットフォーム固有のフォントをロードする方法

分類Dev

ピップインストールとプラットフォーム固有のホイール

分類Dev

Xamarin.Formsプラットフォーム固有のコード

分類Dev

ReactNativeマルチコンポーネントフォーム

分類Dev

Flutterプラットフォーム固有の依存関係

分類Dev

プラットフォーム固有の CSS Ionic 2

分類Dev

ドットネットコアビルドプラットフォーム/ OS固有のコードまたはクラスファイル

分類Dev

プラットフォーム固有の相互運用可能なタイプのマッピング

分類Dev

Xamarinフォーム:プラットフォーム固有のコードを実装する方法

分類Dev

フラットリスト内の子コンポーネントのReactNativeナビゲーション

分類Dev

ポータブルクラスライブラリのプラットフォーム固有の依存関係

分類Dev

vue、クリック時にどのように動的に、プログラム的に、コンポーネントをDOM固有の場所に追加しますか?

分類Dev

ReactNativeのコンポーネント例外

分類Dev

コンポーネントのhandleInputChangeでのフォームエラー

分類Dev

Flutter / Dartにプラットフォーム固有の依存関係をインポートする方法は?(Android / iOSとWebを組み合わせる)

分類Dev

Reactフォームコンポーネントのテスト

分類Dev

角度2のコンポーネント固有のHostListener

分類Dev

クロスプラットフォームのxamarinプロジェクトでプラットフォーム固有のコードを記述します

分類Dev

React / redux +ブートストラップ、モーダルショーをコンポーネントに固有のものにする

分類Dev

コードネームポートレートロックアプリの1つのランドスケープ指向フォーム

分類Dev

ReactNativeカスタムコンポーネント/ライブラリの作成

分類Dev

フォーム入力の現在の値をVueコンポーネントプロップに渡す方法は?

分類Dev

APIプラットフォームの管理コンポーネントが機能していないファイルをアップロードする

Related 関連記事

  1. 1

    プラットフォーム固有のコンポーネントをクロスプラットフォームコードに統合するXamarin

  2. 2

    libGdxプラットフォーム固有のコード

  3. 3

    Xamarinのプラットフォーム固有のリターンタイプ

  4. 4

    プラットフォーム固有の構造体をインポートする方法は?

  5. 5

    ReactNativeの「<Image />」コンポーネントはiOSプラットフォームでDNG拡張機能のある画像を読み込めません

  6. 6

    グループ固有の子コンポーネントReact

  7. 7

    実行時にプラットフォーム固有のフォントをロードする方法

  8. 8

    ピップインストールとプラットフォーム固有のホイール

  9. 9

    Xamarin.Formsプラットフォーム固有のコード

  10. 10

    ReactNativeマルチコンポーネントフォーム

  11. 11

    Flutterプラットフォーム固有の依存関係

  12. 12

    プラットフォーム固有の CSS Ionic 2

  13. 13

    ドットネットコアビルドプラットフォーム/ OS固有のコードまたはクラスファイル

  14. 14

    プラットフォーム固有の相互運用可能なタイプのマッピング

  15. 15

    Xamarinフォーム:プラットフォーム固有のコードを実装する方法

  16. 16

    フラットリスト内の子コンポーネントのReactNativeナビゲーション

  17. 17

    ポータブルクラスライブラリのプラットフォーム固有の依存関係

  18. 18

    vue、クリック時にどのように動的に、プログラム的に、コンポーネントをDOM固有の場所に追加しますか?

  19. 19

    ReactNativeのコンポーネント例外

  20. 20

    コンポーネントのhandleInputChangeでのフォームエラー

  21. 21

    Flutter / Dartにプラットフォーム固有の依存関係をインポートする方法は?(Android / iOSとWebを組み合わせる)

  22. 22

    Reactフォームコンポーネントのテスト

  23. 23

    角度2のコンポーネント固有のHostListener

  24. 24

    クロスプラットフォームのxamarinプロジェクトでプラットフォーム固有のコードを記述します

  25. 25

    React / redux +ブートストラップ、モーダルショーをコンポーネントに固有のものにする

  26. 26

    コードネームポートレートロックアプリの1つのランドスケープ指向フォーム

  27. 27

    ReactNativeカスタムコンポーネント/ライブラリの作成

  28. 28

    フォーム入力の現在の値をVueコンポーネントプロップに渡す方法は?

  29. 29

    APIプラットフォームの管理コンポーネントが機能していないファイルをアップロードする

ホットタグ

アーカイブ