セレクタ
getNotices
指定されたコンテキストのすべての通知を配列として返します。デフォルトはグローバルコンテキストです。
使用法
import { useSelect } from '@wordpress/data';
import { store as noticesStore } from '@wordpress/notices';
const ExampleComponent = () => {
const notices = useSelect( ( select ) =>
select( noticesStore ).getNotices()
);
return (
<ul>
{ notices.map( ( notice ) => (
<li key={ notice.ID }>{ notice.content }</li>
) ) }
</ul>
);
};
パラメータ
- state
Object
: 通知の状態。 - context
?string
: オプションのグルーピングコンテキスト。
返り値
アクション
createErrorNotice
エラー通知を作成することを示すために使用されるアクションオブジェクトを返します。オプションのドキュメントについてはcreateNotice
を参照してください。
関連
- createNotice
使用法
import { __ } from '@wordpress/i18n';
import { useDispatch } from '@wordpress/data';
import { store as noticesStore } from '@wordpress/notices';
import { Button } from '@wordpress/components';
const ExampleComponent = () => {
const { createErrorNotice } = useDispatch( noticesStore );
return (
<Button
onClick={ () =>
createErrorNotice( __( 'An error occurred!' ), {
type: 'snackbar',
explicitDismiss: true,
} )
}
>
{ __(
'Generate an snackbar error notice with explicit dismiss button.'
) }
</Button>
);
};
パラメータ
- content
string
: 通知メッセージ。 - options
[Object]
: オプションの通知オプション。
返り値
createInfoNotice
情報通知を作成することを示すために使用されるアクションオブジェクトを返します。オプションのドキュメントについてはcreateNotice
を参照してください。
関連
- createNotice
使用法
import { __ } from '@wordpress/i18n';
import { useDispatch } from '@wordpress/data';
import { store as noticesStore } from '@wordpress/notices';
import { Button } from '@wordpress/components';
const ExampleComponent = () => {
const { createInfoNotice } = useDispatch( noticesStore );
return (
<Button
onClick={ () =>
createInfoNotice( __( 'Something happened!' ), {
isDismissible: false,
} )
}
>
{ __( 'Generate a notice that cannot be dismissed.' ) }
</Button>
);
};
パラメータ
- content
string
: 通知メッセージ。 - options
[Object]
: オプションの通知オプション。
返り値
createNotice
通知を作成することを示すために使用されるアクションオブジェクトを返します。
使用法
import { __ } from '@wordpress/i18n';
import { useDispatch } from '@wordpress/data';
import { store as noticesStore } from '@wordpress/notices';
import { Button } from '@wordpress/components';
const ExampleComponent = () => {
const { createNotice } = useDispatch( noticesStore );
return (
<Button
onClick={ () => createNotice( 'success', __( 'Notice message' ) ) }
>
{ __( 'Generate a success notice!' ) }
</Button>
);
};
パラメータ
- 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]
: 通知が閉じられたときに呼び出されます。
返り値
createSuccessNotice
成功通知を作成することを示すために使用されるアクションオブジェクトを返します。オプションのドキュメントについてはcreateNotice
を参照してください。
関連
- createNotice
使用法
import { __ } from '@wordpress/i18n';
import { useDispatch } from '@wordpress/data';
import { store as noticesStore } from '@wordpress/notices';
import { Button } from '@wordpress/components';
const ExampleComponent = () => {
const { createSuccessNotice } = useDispatch( noticesStore );
return (
<Button
onClick={ () =>
createSuccessNotice( __( 'Success!' ), {
type: 'snackbar',
icon: '',
} )
}
>
{ __( 'Generate a snackbar success notice!' ) }
</Button>
);
};
パラメータ
- content
string
: 通知メッセージ。 - options
[Object]
: オプションの通知オプション。
返り値
createWarningNotice
警告通知を作成することを示すために使用されるアクションオブジェクトを返します。オプションのドキュメントについてはcreateNotice
を参照してください。
関連
- createNotice
使用法
import { __ } from '@wordpress/i18n';
import { useDispatch } from '@wordpress/data';
import { store as noticesStore } from '@wordpress/notices';
import { Button } from '@wordpress/components';
const ExampleComponent = () => {
const { createWarningNotice, createInfoNotice } =
useDispatch( noticesStore );
return (
<Button
onClick={ () =>
createWarningNotice( __( 'Warning!' ), {
onDismiss: () => {
createInfoNotice(
__( 'The warning has been dismissed!' )
);
},
} )
}
>
{ __( 'Generates a warning notice with onDismiss callback' ) }
</Button>
);
};
パラメータ
- content
string
: 通知メッセージ。 - options
[Object]
: オプションの通知オプション。
返り値
removeAllNotices
指定されたコンテキストからすべての通知を削除します。デフォルトはデフォルトコンテキストです。
使用法
import { __ } from '@wordpress/i18n';
import { useDispatch, useSelect } from '@wordpress/data';
import { store as noticesStore } from '@wordpress/notices';
import { Button } from '@wordpress/components';
export const ExampleComponent = () => {
const notices = useSelect( ( select ) =>
select( noticesStore ).getNotices()
);
const { removeAllNotices } = useDispatch( noticesStore );
return (
<>
<ul>
{ notices.map( ( notice ) => (
<li key={ notice.id }>{ notice.content }</li>
) ) }
</ul>
<Button onClick={ () => removeAllNotices() }>
{ __( 'Clear all notices', 'woo-gutenberg-products-block' ) }
</Button>
<Button onClick={ () => removeAllNotices( 'snackbar' ) }>
{ __(
'Clear all snackbar notices',
'woo-gutenberg-products-block'
) }
</Button>
</>
);
};
パラメータ
- noticeType
string
: すべての通知を削除するコンテキスト。 - context
string
: すべての通知を削除するコンテキスト。
返り値
removeNotice
通知を削除することを示すために使用されるアクションオブジェクトを返します。
使用法
import { __ } from '@wordpress/i18n';
import { useDispatch } from '@wordpress/data';
import { store as noticesStore } from '@wordpress/notices';
import { Button } from '@wordpress/components';
const ExampleComponent = () => {
const notices = useSelect( ( select ) =>
select( noticesStore ).getNotices()
);
const { createWarningNotice, removeNotice } = useDispatch( noticesStore );
return (
<>
<Button
onClick={ () =>
createWarningNotice( __( 'Warning!' ), {
isDismissible: false,
} )
}
>
{ __( 'Generate a notice' ) }
</Button>
{ notices.length > 0 && (
<Button onClick={ () => removeNotice( notices[ 0 ].id ) }>
{ __( 'Remove the notice' ) }
</Button>
) }
</>
);
};
パラメータ
- id
string
: 通知のユニーク識別子。 - context
[string]
: 通知が表示されることを意図したオプションのコンテキスト(グルーピング)。デフォルトはデフォルトコンテキストです。
返り値
removeNotices
複数の通知を削除することを示すために使用されるアクションオブジェクトを返します。
使用法
import { __ } from '@wordpress/i18n';
import { useDispatch, useSelect } from '@wordpress/data';
import { store as noticesStore } from '@wordpress/notices';
import { Button } from '@wordpress/components';
const ExampleComponent = () => {
const notices = useSelect( ( select ) =>
select( noticesStore ).getNotices()
);
const { removeNotices } = useDispatch( noticesStore );
return (
<>
<ul>
{ notices.map( ( notice ) => (
<li key={ notice.id }>{ notice.content }</li>
) ) }
</ul>
<Button
onClick={ () =>
removeNotices( notices.map( ( { id } ) => id ) )
}
>
{ __( 'Clear all notices' ) }
</Button>
</>
);
};
パラメータ
- ids
string[]
: ユニークな通知識別子のリスト。 - context
[string]
: 通知が表示されることを意図したオプションのコンテキスト(グルーピング)。デフォルトはデフォルトコンテキストです。
返り値
Object
: アクションオブジェクト。