首页 > 解决方案 > 在 Preact 中渲染 React 组件?

问题描述

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

标签: reactjspreact

解决方案


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 在评论中所指出的,从 Preact 10.0 开始preact-compat将被移回核心preact包,并将通过preact/compat.


推荐阅读