Javascript 将GrapesJS与React JS集成

Javascript 将GrapesJS与React JS集成,javascript,reactjs,grapesjs,Javascript,Reactjs,Grapesjs,我正在尝试将GrapesJS功能与我的React应用程序集成 I get an error while implementing like `Uncaught TypeError: Cannot read property 'forEach' of undefined grapesjs react` I would like to have a feature like in this URL https://grapesjs.com/demo.html npm i grapesjs-

我正在尝试将GrapesJS功能与我的React应用程序集成

I get an error while implementing like `Uncaught TypeError: Cannot read property 'forEach' of undefined grapesjs react`

I would like to have a feature like in this URL

https://grapesjs.com/demo.html



npm i grapesjs-react

import React, {Component} from 'react';
import GEditor from 'grapesjs-react';

class GEditorExample extends Component {
 render() {
   return (
         <GEditor/>
     );
   }
}

export default GEditorExample;
我在实现类似'uncaughttypeerror:无法读取未定义图形的属性'forEach'时出错`
我想有一个这样的功能在这个网址
https://grapesjs.com/demo.html
npm i图形
从“React”导入React,{Component};
从“grapesjs react”导入GEditor;
类GEditorExample扩展组件{
render(){
返回(
);
}
}
导出默认GEditorExample;
  • 如何为我的react应用程序获取此功能以构建HTML Web Builder
任何帮助都会很好。
谢谢。*

您必须将块属性指定给,此块将通过
块管理器添加到编辑器中。添加
方法。
如果不需要块,请尝试提供一个空数组,如:

<GEditor id="gjs" blocks={[]} />

您必须将块属性指定给,此块将通过
blockmanager.add
方法添加到编辑器中。 如果不需要块,请尝试提供一个空数组,如:

<GEditor id="gjs" blocks={[]} />

如果将块传递给GEditor,它将工作

请参见下面的示例代码

import React, {Component} from 'react';
import GEditor from 'grapesjs-react';

class GEditorExample extends Component {
 render() {
   return (
          <GEditor id="geditor"  blocks={[]}/>
     );
   }
}

export default GEditorExample;
import React,{Component}来自'React';
从“grapesjs react”导入GEditor;
类GEditorExample扩展组件{
render(){
返回(
);
}
}
导出默认GEditorExample;

如果将块传递给GEditor,它将工作

请参见下面的示例代码

import React, {Component} from 'react';
import GEditor from 'grapesjs-react';

class GEditorExample extends Component {
 render() {
   return (
          <GEditor id="geditor"  blocks={[]}/>
     );
   }
}

export default GEditorExample;
import React,{Component}来自'React';
从“grapesjs react”导入GEditor;
类GEditorExample扩展组件{
render(){
返回(
);
}
}
导出默认GEditorExample;

您使用的是哪个版本的grapesjs react? 我为
道具配置了默认值:

GEditor.defaultProps={
区块管理器:{},
区块:[],
组成部分:[],
时事通讯:假,,
插件:[],
storageManager:{},
样式管理器:{},
网页:假,,
};

如果仍然出现此错误,请尝试将程序包更新为最新版本。

您使用的是哪个版本的grapesjs react? 我为
道具配置了默认值:

GEditor.defaultProps={
区块管理器:{},
区块:[],
组成部分:[],
时事通讯:假,,
插件:[],
storageManager:{},
样式管理器:{},
网页:假,,
};

如果仍然出现此错误,请尝试将软件包更新为最新版本。

我一直在寻找一个好的集成器。目前,我的解决方案是使用
从外部文件服务器加载GrapeJ。例如:在React组件内使用iframe,如下所示:


我知道这不是一个好的解决方案,但目前它是我发现的唯一一种解决问题的方法

我一直在寻找一个好的集成器。目前,我的解决方案是使用
从外部文件服务器加载GrapeJ。例如:在React组件内使用iframe,如下所示:



我知道这不是一个好的解决方案,但目前它是我发现的唯一一种解决问题的方法

尝试在
npm install grapesjs
之后重新运行
npm install grapesjs
非常感谢您的回答。最后一个问题。如何将数据存储到数据库中?是否有任何存储管理器或存储API,以便我可以将其与React组件一起使用。谢谢。您可以在
init
上传递一个用作存储管理器的URL。默认情况下,grapesjs为此使用本地存储。该文档将有助于了解有关storage manager的更多信息,我正在将它与react JS一起使用。那么我该如何实现它呢?我的用例是,如果我的客户机设计了一个模板,那么他应该能够将模板打上白色标签发送给他的客户机。“grapesjs-react”在内部调用init上的storage manager对象。我在“grapesjs”周围创建了一个类似于“grapesjs react”的react包装器,并将存储管理器传递给了它。非常感谢您的回答。最后一个问题。如何将数据存储到数据库中?是否有任何存储管理器或存储API,以便我可以将其与React组件一起使用。谢谢。您可以在
init
上传递一个用作存储管理器的URL。默认情况下,grapesjs为此使用本地存储。该文档将有助于了解有关storage manager的更多信息,我正在将它与react JS一起使用。那么我该如何实现它呢?我的用例是,如果我的客户机设计了一个模板,那么他应该能够将模板打上白色标签发送给他的客户机。“grapesjs-react”在内部调用init上的storage manager对象。我在“grapesjs”周围创建react包装时遇到了类似的问题,与“grapesjs react”类似,并在此处传递存储管理器。我使用2.0.0的grapesjs react我使用2.0.0的grapesjs react请提供更多详细信息以回答您的问题。我是否可以请您在此处查看与grapesjs相关的问题:?请提供更多详细信息以回答您的问题。我是否可以请您在此处查看与grapesjs相关的问题:?