wordpress - 是否有在我的古腾堡块内创建自定义块的功能?
问题描述
我正在制作一个滑块,我想为我选择的每个图像创建一个滑块。
我已经有了一个功能齐全的滑块。问题是,如何从滑块创建调用滑块?我认为必须有一种通过 API 的方法,我找到了函数 createBlock() 但没有什么真正起作用
const { createBlock } = wp.blocks;
//
// some code
//
<div id={ listId } className={ classes } key={ index }>
{createBlock('illmatic6514/slide')}
</div>
我期待创建一个滑块。(为简单起见,我从滑块中删除了变量并放入静态图像)我得到“无法读取未定义的属性'属性'”
即使我调用 createBlock('core/paragraph') 我得到“对象作为 React 孩子无效”
解决方案
您可能希望将 Slide 定义为组件而不是块:
function Slide(props) {
return <div>{props.slideName}</div>;
}
或者作为扩展 Component 的类:
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>
)
}
推荐阅读
- python - Nested list with python basic
- powershell - PowerShell 字符串数组模式匹配
- .net - .NET Core App 为客户端生成多个网站
- angular - Kendo Sortable for angular - group items
- jmeter - 测量仪 | 如果响应有列表它变得空如何解决它?
- android - 如何以包含数据的简单文本文件的形式将数据从 android 可穿戴设备发送到手机?
- java - 带有 Spring 启动的 Google Cloud PubSub
- gdb - 我机器中的 gdb 不支持 tui 显示
- java - 如何测量设计的面积,如何计算 BufferedImage 的面积
- html - css break-after:left 生成一个而不是两个分页符