インストール

モジュールをインストールします

  1. npm install @wordpress/viewport --save

このパッケージは、あなたのコードがES2015+環境で実行されることを前提としています。もし、言語機能やAPIのサポートが限られているか、全くない環境を使用している場合は、コードに@wordpress/babel-preset-defaultで提供されるポリフィルを含めるべきです。

使用法

標準のブレークポイント閾値のセットは次のとおりです:

名前 ピクセル幅
huge 1440
wide 1280
large 960
medium 782
small 600
mobile 480

データモジュール

ビューポートモジュールは、core/viewportデータネームスペースの下に自らを登録し、パッケージからstoreとして公開されます。

  1. import { select } from '@wordpress/data';
  2. import { store } from '@wordpress/viewport';
  3. const isSmall = select( store ).isViewportMatch( '< medium' );
  1. ``````bash
  2. import { select } from '@wordpress/data';
  3. import { store } from '@wordpress/viewport';
  4. const { isViewportMatch } = select( store );
  5. const isSmall = isViewportMatch( '< medium' );
  6. const isWideOrHuge = isViewportMatch( '>= wide' );
  7. // Equivalent:
  8. // const isWideOrHuge = isViewportMatch( 'wide' );
  9. `

高階コンポーネント

このパッケージは、ビューポートに応じて動作が変わるコンポーネントを作成するためのHOCのセットを提供します。

ifViewportMatches

高階コンポーネントの作成者であり、ビューポートクエリが満たされる場合にレンダリングされる新しいコンポーネントを作成します。

関連

  • withViewportMatches

使用法

  1. function MyMobileComponent() {
  2. return <div>I'm only rendered on mobile viewports!</div>;
  3. }
  4. MyMobileComponent = ifViewportMatches( '< small' )( MyMobileComponent );

パラメータ

  • クエリ string: ビューポートクエリ。

戻り値

  • Function: 高階コンポーネント。

ストア

ビューポートネームスペースのストア定義。

関連

タイプ

  • Object

withViewportMatch

高階コンポーネントの作成者であり、与えられたプロップ名でレンダリングされる新しいコンポーネントを作成します。ここで、基盤となるコンポーネントに渡される値は、オブジェクトの値として割り当てられたクエリの結果です。

関連

  • isViewportMatch

使用法

  1. function MyComponent( { isMobile } ) {
  2. return <div>Currently: { isMobile ? 'Mobile' : 'Not Mobile' }</div>;
  3. }
  4. MyComponent = withViewportMatch( { isMobile: '< small' } )( MyComponent );

パラメータ

  • クエリ Object: プロップ名からビューポートクエリへのオブジェクト。

戻り値

  • Function: 高階コンポーネント。

このパッケージへの貢献

これはGutenbergプロジェクトの一部である個別のパッケージです。このプロジェクトはモノレポとして整理されています。特定の目的を持つ複数の自己完結型ソフトウェアパッケージで構成されています。このモノレポ内のパッケージはnpmに公開され、WordPressや他のソフトウェアプロジェクトで使用されています。

このパッケージやGutenberg全体への貢献について詳しく知りたい場合は、プロジェクトの主な貢献者ガイドをお読みください。