セレクタ

getNotices

指定されたコンテキストのすべての通知を配列として返します。デフォルトはグローバルコンテキストです。

使用法

  1. import { useSelect } from '@wordpress/data';
  2. import { store as noticesStore } from '@wordpress/notices';
  3. const ExampleComponent = () => {
  4. const notices = useSelect( ( select ) =>
  5. select( noticesStore ).getNotices()
  6. );
  7. return (
  8. <ul>
  9. { notices.map( ( notice ) => (
  10. <li key={ notice.ID }>{ notice.content }</li>
  11. ) ) }
  12. </ul>
  13. );
  14. };

パラメータ

  • state Object: 通知の状態。
  • context ?string: オプションのグルーピングコンテキスト。

返り値

  • WPNotice[]: 通知の配列。

アクション

createErrorNotice

エラー通知を作成することを示すために使用されるアクションオブジェクトを返します。オプションのドキュメントについてはcreateNoticeを参照してください。

関連

  • createNotice

使用法

  1. import { __ } from '@wordpress/i18n';
  2. import { useDispatch } from '@wordpress/data';
  3. import { store as noticesStore } from '@wordpress/notices';
  4. import { Button } from '@wordpress/components';
  5. const ExampleComponent = () => {
  6. const { createErrorNotice } = useDispatch( noticesStore );
  7. return (
  8. <Button
  9. onClick={ () =>
  10. createErrorNotice( __( 'An error occurred!' ), {
  11. type: 'snackbar',
  12. explicitDismiss: true,
  13. } )
  14. }
  15. >
  16. { __(
  17. 'Generate an snackbar error notice with explicit dismiss button.'
  18. ) }
  19. </Button>
  20. );
  21. };

パラメータ

  • content string: 通知メッセージ。
  • options [Object]: オプションの通知オプション。

返り値

  • Object: アクションオブジェクト。

createInfoNotice

情報通知を作成することを示すために使用されるアクションオブジェクトを返します。オプションのドキュメントについてはcreateNoticeを参照してください。

関連

  • createNotice

使用法

  1. import { __ } from '@wordpress/i18n';
  2. import { useDispatch } from '@wordpress/data';
  3. import { store as noticesStore } from '@wordpress/notices';
  4. import { Button } from '@wordpress/components';
  5. const ExampleComponent = () => {
  6. const { createInfoNotice } = useDispatch( noticesStore );
  7. return (
  8. <Button
  9. onClick={ () =>
  10. createInfoNotice( __( 'Something happened!' ), {
  11. isDismissible: false,
  12. } )
  13. }
  14. >
  15. { __( 'Generate a notice that cannot be dismissed.' ) }
  16. </Button>
  17. );
  18. };

パラメータ

  • content string: 通知メッセージ。
  • options [Object]: オプションの通知オプション。

返り値

  • Object: アクションオブジェクト。

createNotice

通知を作成することを示すために使用されるアクションオブジェクトを返します。

使用法

  1. import { __ } from '@wordpress/i18n';
  2. import { useDispatch } from '@wordpress/data';
  3. import { store as noticesStore } from '@wordpress/notices';
  4. import { Button } from '@wordpress/components';
  5. const ExampleComponent = () => {
  6. const { createNotice } = useDispatch( noticesStore );
  7. return (
  8. <Button
  9. onClick={ () => createNotice( 'success', __( 'Notice message' ) ) }
  10. >
  11. { __( 'Generate a success notice!' ) }
  12. </Button>
  13. );
  14. };

パラメータ

  • status string|undefined: 通知の状態(未定義の場合は「info」)。
  • content string: 通知メッセージ。
  • options [Object]: 通知オプション。
  • options.context [string]: 通知をグループ化するためのコンテキスト。
  • options.id [string]: 通知の識別子。指定されていない場合は自動的に割り当てられます。
  • options.isDismissible [boolean]: ユーザーが通知を閉じることができるかどうか。
  • options.type [string]: 通知のタイプ、defaultまたはsnackbarのいずれか。
  • options.speak [boolean]: 通知の内容をスクリーンリーダーに発表するかどうか。
  • options.actions [Array<WPNoticeAction>]: 通知と共に表示されるユーザーアクション。
  • options.icon [string]: 通知と共に表示されるアイコン。タイプがsnackbarに設定されている場合のみ使用されます。
  • options.explicitDismiss [boolean]: 通知に明示的な閉じるボタンが含まれているかどうか、通知の本文をクリックして閉じることができないかどうか。タイプがsnackbarに設定されている場合のみ適用されます。
  • options.onDismiss [Function]: 通知が閉じられたときに呼び出されます。

返り値

  • Object: アクションオブジェクト。

createSuccessNotice

成功通知を作成することを示すために使用されるアクションオブジェクトを返します。オプションのドキュメントについてはcreateNoticeを参照してください。

関連

  • createNotice

使用法

  1. import { __ } from '@wordpress/i18n';
  2. import { useDispatch } from '@wordpress/data';
  3. import { store as noticesStore } from '@wordpress/notices';
  4. import { Button } from '@wordpress/components';
  5. const ExampleComponent = () => {
  6. const { createSuccessNotice } = useDispatch( noticesStore );
  7. return (
  8. <Button
  9. onClick={ () =>
  10. createSuccessNotice( __( 'Success!' ), {
  11. type: 'snackbar',
  12. icon: '',
  13. } )
  14. }
  15. >
  16. { __( 'Generate a snackbar success notice!' ) }
  17. </Button>
  18. );
  19. };

パラメータ

  • content string: 通知メッセージ。
  • options [Object]: オプションの通知オプション。

返り値

  • Object: アクションオブジェクト。

createWarningNotice

警告通知を作成することを示すために使用されるアクションオブジェクトを返します。オプションのドキュメントについてはcreateNoticeを参照してください。

関連

  • createNotice

使用法

  1. import { __ } from '@wordpress/i18n';
  2. import { useDispatch } from '@wordpress/data';
  3. import { store as noticesStore } from '@wordpress/notices';
  4. import { Button } from '@wordpress/components';
  5. const ExampleComponent = () => {
  6. const { createWarningNotice, createInfoNotice } =
  7. useDispatch( noticesStore );
  8. return (
  9. <Button
  10. onClick={ () =>
  11. createWarningNotice( __( 'Warning!' ), {
  12. onDismiss: () => {
  13. createInfoNotice(
  14. __( 'The warning has been dismissed!' )
  15. );
  16. },
  17. } )
  18. }
  19. >
  20. { __( 'Generates a warning notice with onDismiss callback' ) }
  21. </Button>
  22. );
  23. };

パラメータ

  • content string: 通知メッセージ。
  • options [Object]: オプションの通知オプション。

返り値

  • Object: アクションオブジェクト。

removeAllNotices

指定されたコンテキストからすべての通知を削除します。デフォルトはデフォルトコンテキストです。

使用法

  1. import { __ } from '@wordpress/i18n';
  2. import { useDispatch, useSelect } from '@wordpress/data';
  3. import { store as noticesStore } from '@wordpress/notices';
  4. import { Button } from '@wordpress/components';
  5. export const ExampleComponent = () => {
  6. const notices = useSelect( ( select ) =>
  7. select( noticesStore ).getNotices()
  8. );
  9. const { removeAllNotices } = useDispatch( noticesStore );
  10. return (
  11. <>
  12. <ul>
  13. { notices.map( ( notice ) => (
  14. <li key={ notice.id }>{ notice.content }</li>
  15. ) ) }
  16. </ul>
  17. <Button onClick={ () => removeAllNotices() }>
  18. { __( 'Clear all notices', 'woo-gutenberg-products-block' ) }
  19. </Button>
  20. <Button onClick={ () => removeAllNotices( 'snackbar' ) }>
  21. { __(
  22. 'Clear all snackbar notices',
  23. 'woo-gutenberg-products-block'
  24. ) }
  25. </Button>
  26. </>
  27. );
  28. };

パラメータ

  • noticeType string: すべての通知を削除するコンテキスト。
  • context string: すべての通知を削除するコンテキスト。

返り値

  • Object: アクションオブジェクト。

removeNotice

通知を削除することを示すために使用されるアクションオブジェクトを返します。

使用法

  1. import { __ } from '@wordpress/i18n';
  2. import { useDispatch } from '@wordpress/data';
  3. import { store as noticesStore } from '@wordpress/notices';
  4. import { Button } from '@wordpress/components';
  5. const ExampleComponent = () => {
  6. const notices = useSelect( ( select ) =>
  7. select( noticesStore ).getNotices()
  8. );
  9. const { createWarningNotice, removeNotice } = useDispatch( noticesStore );
  10. return (
  11. <>
  12. <Button
  13. onClick={ () =>
  14. createWarningNotice( __( 'Warning!' ), {
  15. isDismissible: false,
  16. } )
  17. }
  18. >
  19. { __( 'Generate a notice' ) }
  20. </Button>
  21. { notices.length > 0 && (
  22. <Button onClick={ () => removeNotice( notices[ 0 ].id ) }>
  23. { __( 'Remove the notice' ) }
  24. </Button>
  25. ) }
  26. </>
  27. );
  28. };

パラメータ

  • id string: 通知のユニーク識別子。
  • context [string]: 通知が表示されることを意図したオプションのコンテキスト(グルーピング)。デフォルトはデフォルトコンテキストです。

返り値

  • Object: アクションオブジェクト。

removeNotices

複数の通知を削除することを示すために使用されるアクションオブジェクトを返します。

使用法

  1. import { __ } from '@wordpress/i18n';
  2. import { useDispatch, useSelect } from '@wordpress/data';
  3. import { store as noticesStore } from '@wordpress/notices';
  4. import { Button } from '@wordpress/components';
  5. const ExampleComponent = () => {
  6. const notices = useSelect( ( select ) =>
  7. select( noticesStore ).getNotices()
  8. );
  9. const { removeNotices } = useDispatch( noticesStore );
  10. return (
  11. <>
  12. <ul>
  13. { notices.map( ( notice ) => (
  14. <li key={ notice.id }>{ notice.content }</li>
  15. ) ) }
  16. </ul>
  17. <Button
  18. onClick={ () =>
  19. removeNotices( notices.map( ( { id } ) => id ) )
  20. }
  21. >
  22. { __( 'Clear all notices' ) }
  23. </Button>
  24. </>
  25. );
  26. };

パラメータ

  • ids string[]: ユニークな通知識別子のリスト。
  • context [string]: 通知が表示されることを意図したオプションのコンテキスト(グルーピング)。デフォルトはデフォルトコンテキストです。

返り値

  • Object: アクションオブジェクト。