【问题标题】:Render React component in Preact?在 Preact 中渲染 React 组件?
【发布时间】:2019-05-08 15:07:21
【问题描述】:

我尝试在我的大多数项目中使用 Preact,但现在我需要使用 React 组件。我不希望这要求我切换框架。我可以做些什么来从我的 Preact 代码渲染 React 组件?

【问题讨论】:

    标签: reactjs preact


    【解决方案1】:

    Preact 提供了一个名为preact-compat 的兼容层。

    您可以使用您的模块捆绑器为 reactreact-dom 导入别名以使用 preact-compat,这应该允许您在未修改的 Preact 应用程序中使用 React 代码。

    这是一个 Webpack 示例,取自 preact-compat 文档:

    {
        // ...
        resolve: {
            alias: {
                'react': 'preact-compat',
                'react-dom': 'preact-compat',
                // Not necessary unless you consume a module using `createClass`
                'create-react-class': 'preact-compat/lib/create-react-class',
                // Not necessary unless you consume a module requiring `react-dom-factories`
                'react-dom-factories': 'preact-compat/lib/react-dom-factories'
            }
        }
        // ...
    }
    

    编辑: 正如 @pmkro 在 cmets 中所指出的,from Preact 10.0 onwardspreact-compat 正在移回核心 preact 包中,并将通过 preact/compat 提供。

    【讨论】:

    • 非常感谢!
    • 正如注释一样,这将随着preact 10 而改变。这对 8.x 有效,但对于 X,它已更改为 preact/compat,并且它随包的其余部分一起提供。
    • 感谢 @pmkro 的更新 - 已经离开 Preact 世界一段时间了,所以我不知道。将更新我的答案:)
    猜你喜欢
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    • 2018-09-11
    • 2020-11-04
    • 2019-10-07
    相关资源
    最近更新 更多