automattic / jetpack-shared-extension-utils
块编辑器扩展使用的工具函数
v0.15.10
2024-09-16 14:36 UTC
Requires (Dev)
- automattic/jetpack-changelogger: ^4.2.6
- yoast/phpunit-polyfills: ^1.1.1
- dev-trunk
- v0.15.10
- v0.15.9
- v0.15.8
- v0.15.7
- v0.15.6
- v0.15.5
- v0.15.4
- v0.15.3
- v0.15.2
- v0.15.1
- v0.15.0
- v0.14.20
- v0.14.19
- v0.14.18
- v0.14.17
- v0.14.16
- v0.14.15
- v0.14.14
- v0.14.13
- v0.14.12
- v0.14.11
- v0.14.10
- v0.14.9
- v0.14.8
- v0.14.7
- v0.14.6
- v0.14.5
- v0.14.4
- v0.14.3
- v0.14.2
- v0.14.1
- v0.14.0
- v0.13.10
- v0.13.9
- v0.13.8
- v0.13.7
- v0.13.6
- v0.13.5
- v0.13.4
- v0.13.3
- v0.13.2
- v0.13.1
- v0.13.0
- v0.12.6
- v0.12.5
- v0.12.4
- v0.12.3
- v0.12.2
- v0.12.1
- v0.12.0
- v0.11.5
- v0.11.4
- v0.11.3
- v0.11.2
- v0.11.1
- v0.11.0
- v0.10.9
- v0.10.8
- v0.10.7
- v0.10.6
- v0.10.5
- v0.10.4
- v0.10.3
- v0.10.2
- v0.10.1
- v0.10.0
- v0.9.2
- v0.9.1
- v0.9.0
- v0.8.4
- v0.8.3
- v0.8.2
- v0.8.1
- v0.8.0
- v0.7.0
- v0.6.10
- v0.6.9
- v0.6.8
- v0.6.7
- v0.6.6
- v0.6.5
- v0.6.4
- v0.6.3
- v0.6.2
- v0.6.1
- v0.6.0
- v0.5.0
- v0.4.13
- v0.4.12
- v0.4.11
- v0.4.10
- v0.4.9
- v0.4.8
- v0.4.7
- v0.4.6
- v0.4.5
- v0.4.4
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.1
- v0.3.0
- v0.2.0
- v0.1.1
- v0.1.0
- dev-prerelease
- dev-release-v0.4.0
- dev-fix/slack-workflow-branch-detection
This package is auto-updated.
Last update: 2024-09-18 03:31:39 UTC
README
块编辑器扩展使用的工具函数。
本包是 Jetpack 插件中 extensions/shared
目录 代码的新家,以便插件可以共享它。最初,我们将移除 Publicize 编辑器扩展使用的代码,但目标是迁移所有共享代码。
从商店获取模块数据
本包依赖于 controls 和 resolvers 来从 API 拉取模块数据,并将其放入包的 Redux store。
基本用法
为了在不同的包中同步所有相关模块数据,让我们使用这个 Redux store 作为数据源,用于获取和更新数据。
使用 withSelect
、withDispatch
高阶组件或 useSelect
钩子从 store 中拉取数据,并将其直接拉入组件。示例
// Imports. import { withSelect, withDispatch } from '@wordpress/data'; import { JETPACK_MODULES_STORE_ID } from '@automattic/jetpack-shared-extension-utils'; const SampleComponent = props => { const { isModuleActive, isLoadingModules, isChangingStatus, updateJetpackModuleStatus } = props; if ( isModuleActive ) { return <div>Module is active</div>; } if ( isLoadingModules ) { return <div>Loading modules...</div>; } if ( !isModuleActive ) { return <button onClick={ () => updateJetpackModuleStatus( 'contact-form', true ) }> Activate module </button>; } return <div>Active contact form module</div>; } // We wrap `SampleComponent` into the composition of `withSelect` and `withDispatch` HOCs, // which will pull the data from the store and pass as a parameter into the component. // Jetpack modules will be pulled after first selection `isModuleActive`. export default compose( [ withSelect( ( select, props ) => { const { isModuleActive, areModulesLoading, isModuleUpdating } = select( 'jetpack-modules' ); return { isModuleActive: isModuleActive( 'contact-form' ), isLoadingModules: areModulesLoading(), isChangingStatus: isModuleUpdating( 'contact-form' ), }; } ), withDispatch( dispatch => { const { updateJetpackModuleStatus } = dispatch( 'jetpack-modules' ); return { updateJetpackModuleStatus }; } ), ] )( ( SampleComponent ) );
如何安装 shared-extension-utils
从 Git 仓库安装
贡献
获取帮助
安全性
需要报告安全漏洞?请访问 https://automattic.com/security/ 或直接访问我们的安全漏洞赏金网站 https://hackerone.com/automattic。
许可
shared-extension-utils 在 GNU 通用公共许可证 v2(或更新版本) 下授权。