在Preact中渲染React组件?

时间:2019-05-08 15:07:22

标签: reactjs preact

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

1 个答案:

答案 0 :(得分: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在评论中所述,from Preact 10.0 onwardspreact-compat被移回到核心preact包中,并且将可用通过preact/compat