Вы можете прочитать (очень крошечную) документацию по этой функции в Справочник редактора блоков . Вот живой пример из моего собственного кода в новом блоке слайдера для wordpress . Он использует компонент высшего порядка withDispatch
для подачи компонентов с действиями.
withDispatch( ( dispatch, ownProps, registry ) => {
return {
updateEditable( isEditing ) {
const { clientId, setAttributes } = ownProps;
const { getBlockOrder } = registry.select( 'core/block-editor' );
const { updateBlockAttributes } = dispatch( 'core/block-editor' );
//update own isEditable
setAttributes( { isEditing } );
const innerBlockIds = getBlockOrder( clientId );
innerBlockIds.forEach( ( innerBlockId ) => {
updateBlockAttributes( innerBlockId, {
isEditing,
} );
} );
},
};
} )
Чтобы поиграться с модулем данных WordPress, который предоставляет клиенту данные о редакторе или блоках, вы также можете использовать wp.data
-Модуль. Находясь в бэкэнде, вы можете, например, перейдите в консоль браузера и введите wp.data.dispatch( 'core/editor' ).updateBlockAttributes()
, чтобы проверить, что делает функция.
Вы также можете заглянуть в репозиторий gutenberg github. Базовые блоки также используют updateBlockAttributes
. Например. в столбцах
Если вам нужна дополнительная информация об обработке данных в Гутенберге, вы можете прочитать этот очень хороший пост BLOB-объекта, в котором представлены API-интерфейсы wp.data, а также концепция withSelect
и withDispatch
компонентов более высокого порядка.