Я создал блок Гутенберга, и часть выходных данных - установить стиль корневого элемента.У меня проблемы с атрибутом стиля этого корневого элемента, который не обновляется динамически в редакторе Гутенберга при его изменении.Моя функция редактирования выглядит следующим образом:
edit: function( props )
{
[...] // initialising some variables
return el(
wp.element.Fragment,
{},
[...], // InspectorControls, etc.
el(
'div',
{
className: 'cms-container ' + getClassName(attr),
style: getStyles(attr),
state: JSON.stringify(getStyles(attr))
},
[...] // Inner blocks, etc.
)
);
},
Это прекрасно работает при загрузке страницы, но когда я изменяю то, что getStyles (attr) возвращает, пока на странице (через InspectorControls), стиль не меняется.Я даже добавил к выводу дополнительный атрибут «состояние», который изменяется, как и ожидалось, в результате получается что-то вроде следующего:
<div class="cms-container "
style="background-size: contain;"
state="{"backgroundSize":"cover"}">
Я изменил размер фона для покрытия, которое обновляетсяв атрибуте "состояние", но не в стиле.Если бы я сохранил страницу на этом этапе, она бы правильно отображалась (как background-size: cover) при следующей загрузке страницы.
Есть ли какое-то кэширование, которое выполняет React, которого мне не хватает?