Есть ли функция, которая создает специальный блок внутри моего блока Гутенберга? - PullRequest
0 голосов
/ 13 февраля 2019

Я делаю блок слайдера и хочу создать блок слайдов для каждого изображения, которое я выберу.

У меня уже есть полностью работающий блок слайдов.Вопрос в том, как создать блок слайдов вызова из блока слайдера?Я думаю, что должен быть путь через API, и я нашел функцию createBlock (), но на самом деле ничего не работает

const { createBlock } = wp.blocks;
//
// some code
//
<div id={ listId } className={ classes } key={ index }>
  {createBlock('illmatic6514/slide')}
</div>

Я ожидаю создания блока слайдов.(Для простоты я удалил переменные из блока слайдов и вставил статическое изображение) Я получаю «Невозможно прочитать атрибуты свойства« неопределенного »

Даже если я вызываю createBlock (« ядро ​​/ абзац »)) Я получаю «Объекты недействительны как дочерний элемент React»

1 Ответ

0 голосов
/ 13 февраля 2019

Вы, вероятно, хотите определить Slide как компонент вместо блока:

function Slide(props) {
  return <div>{props.slideName}</div>;
}

Или как класс, расширяющий Компонент:

const { Component } = wp.element
class Slide extends Component {
  render() {
    return (
      <div>{ this.props.slideName }</div>
    )
  }
}

И затем в вашем блоке Slider выбудет использовать этот компонент:

edit(props) {
  return (
    <div>
      <Slide slideName="Slide 1" />
      <Slide slideName="Slide 2" />
    </div>
  )
}

https://reactjs.org/docs/components-and-props.html

...