WooCommerce 文档

title: "Store Notices Store (wc/store/store-notices)" post_status: publish comment_status: open taxonomy: category: - woocommerce post_tag: - Data Store - Reference - Block Development


Store Notices Store (wc/store/store-notices)

概述

Store Notices Store 允许注册和取消注册用于显示通知的容器。 这对于在特定位置显示通知非常有用,例如自定义块。

使用方法

要使用此存储,您需要在任何引用它的模块中导入 storeNoticesStore StoreDescriptor。 假设 @woocommerce/block-data 已注册为指向 wc.wcBlocksData 的外部依赖,您可以这样导入 StoreDescriptor

import { storeNoticesStore } from '@woocommerce/block-data';

如果不是,则可以从 window 对象中访问它:

const { storeNoticesStore } = window.wc.wcBlocksData;

示例

以下代码片段演示了如何注册一个用于显示通知的容器。

import { store as noticesStore } from '@wordpress/notices';

export default function Block( attributes ) {
    const context = 'your-namespace/custom-form-step';

    dispatch( noticesStore ).createNotice(
        'error',
        '这是一个错误通知的示例。',
        { context }
    );

    return (
        <>
            <StoreNoticesContainer context={ context } />
            { /* 您的自定义块代码 */ }
        </>
    );
}

💡 内部,StoreNoticesContainer 组件将派发 registerContainer 操作。

请注意,这是一个简单的示例。 在实际应用中,您希望在用户操作(例如提交表单)时触发 createNotice 操作。

操作

registerContainer( containerContext )

此操作将注册一个新的容器。

参数

返回值

示例

import { storeNoticesStore } from '@woocommerce/block-data';

dispatch( storeNoticesStore ).registerContainer( 'someContainerContext' );

unregisterContainer( containerContext )

此操作将取消注册一个现有的容器。

参数

返回值

示例

import { storeNoticesStore } from '@woocommerce/block-data';

dispatch( storeNoticesStore ).unregisterContainer( 'someContainerContext' );

选择器

getRegisteredContainers

返回当前状态中已注册容器的列表。

返回值

示例

import { storeNoticesStore } from '@woocommerce/block-data';

关于容器注册和管理的文档

本文档描述了如何注册和管理容器。

NOTICE: 请仔细阅读以下内容,以确保正确配置您的系统。

本系统允许您注册和管理容器。每个容器都必须在系统中进行注册,才能被使用。

以下是如何注册容器的步骤:

  1. 使用 register(containerName) 命令注册一个新容器。
  2. 确保容器包含所有必需的文件和配置。
  3. 验证容器是否已成功注册。

以下是如何管理已注册容器的步骤:

  1. 使用 listContainers() 命令列出所有已注册的容器。
  2. 使用 select(containerName) 命令选择一个特定的容器。
  3. 使用 delete(containerName) 命令删除一个容器。

重要提示: 确保您拥有足够的权限才能执行这些操作。

以下是一个示例代码片段,展示了如何注册和获取已注册的容器:

const store = select( storeNoticesStore );
const registeredContainers = store.getRegisteredContainers();

解释:

常见问题:

其他信息:

希望本文档对您有所帮助。 如果您有任何问题,请联系我们的技术支持团队。