Передача атрибутов от родительского к дочернему блоку Гутенберга

Как передать родительские атрибуты или передать некоторые реквизиты во внутреннем дочернем блоке?

<InnerBlocks allowedBlocks={[ 'groupama-blocks/block-08']}/>

Например, я хотел бы добавить атрибуты этого блока в блок 08, который я добавлю как внутренний блок.


person Gerald Ibra    schedule 01.04.2021    source источник


Ответы (1)


ПЕРЕДАЧА ДАННЫХ ОТ РОДИТЕЛЯ РЕБЕНКУ GUTENBERG

РОДИТЕЛЬ

const {useSelect, dispatch, select} = wp.data;

edit: (props) => {
    const {
        clientId
    } = props;

    var children = select('core/block-editor').getBlocksByClientId(clientId).[0].innerBlocks;
    children.forEach(function(child){
        dispatch('core/block-editor').updateBlockAttributes(child.clientId, {label: 'Hello'})
    });

РЕБЕНОК

let parent = select('core/block-editor').getBlockParents(clientId);
const parentAttributes = select('core/block-editor').getBlockAttributes(parent);
console.log(parentAttributes); // Block Attributes
console.log(props.attributes.label); // Passing Props
person Gerald Ibra    schedule 01.04.2021