Elementor WordPress+React或Angular

zlwx9yxi  于 2022-10-24  发布在  WordPress
关注(0)|答案(3)|浏览(164)

我已经在谷歌上找过了,但什么也没找到……
请,它有可能创建一个Elementor(WordPress)小工具与React或Angular ?我需要创建一个组件,它将从API获得一些数据,并动态呈现页面。我想过Web应用程序或IFRAME,但我不确定。
谢谢。

uplii1fm

uplii1fm1#

有了React,这是可能的。有了更多的细节,我可以帮你更多一点。但总的来说,这是实现这一目标的方法。
对于您的小部件,使用唯一的id回显一个div。每个例子:

<div id="myReactWidget"></div>

在Reaction中,您通常会看到以下内容来呈现应用程序:

import React, { Component } from 'react';
import { render } from 'react-dom';

class App extends Component {   
  render() {
    return (
      <div>
        <p>
          Start editing to see some magic happen :)
        </p>
      </div>
    );
  }
}

render(<App />, document.getElementById('root'));

如果您将“ROOT”替换为“myReactWidget”,它将呈现在您的Elementor小部件中。
示例:
这一点:

render(<App />, document.getElementById('root'));

替换为:

render(<App />, document.getElementById('myReactWidget'));

请注意,您必须将您的构建reactjs脚本“入队”才能正常工作

为此,请在您的项目根目录中运行:

npm run build

并查看*/Build*文件夹以查看要包括的内容

7kqas0il

7kqas0il2#

有几个问题需要解决才能有效地工作,比如Elementor小部件之间的状态管理,React应用程序和Elementor之间的CSS隔离,以及如何管理这两者之间的道具……我试图通过NX插件为这些问题提供答案
https://www.npmjs.com/package/@betrue/react-elementor
基于NX工作区模式,他们将生成由影子DOM分隔的Web组件标签 Package 的react.js组件,使用redux共享状态。
该插件将生成一个起始代码库来回答大多数问题。

voase2hg

voase2hg3#

事实上,@jbergeron提出的解决方案实际上是有效的。但你已经走到一半了。如果您正在尝试渲染,假设在另一个应用程序/html_page中使用其自己的主题/样式设置等的Reaction应用程序,在那里使用该应用程序可能会导致样式问题。有一种解决方案可以隔离Reaction应用程序,这样它就不会干扰页面的其余部分,在您的情况下是Elementor。
对你来说,关键的短语是,影子DOMWeb组件
你可以跟随this guide来准备对此做出React。
它非常通用,您还可以将其与MUI等库结合使用

相关问题