在 Preact 中渲染 React 组件?
Render React component in Preact?
我尝试在我的大部分项目中使用 Preact,但现在我需要使用 React 组件。我不希望这要求我切换框架。我可以做些什么来从我的 Preact 代码中渲染 React 组件吗?
Preact 提供了一个名为 preact-compat
的兼容层。
您可以使用您的模块打包器为 react
和 react-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 onwards、preact-compat
正在移回核心 preact
包, 并将通过 preact/compat
.
提供
我尝试在我的大部分项目中使用 Preact,但现在我需要使用 React 组件。我不希望这要求我切换框架。我可以做些什么来从我的 Preact 代码中渲染 React 组件吗?
Preact 提供了一个名为 preact-compat
的兼容层。
您可以使用您的模块打包器为 react
和 react-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 onwards、preact-compat
正在移回核心 preact
包, 并将通过 preact/compat
.