reactjs - 在 Preact 中渲染 React 组件?
问题描述
我尝试在我的大多数项目中使用 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 在评论中所指出的,从 Preact 10.0 开始,preact-compat
将被移回核心preact
包,并将通过preact/compat
.
推荐阅读
- greenplum - 如何将本地镶木地板文件加载到 GPDB?
- php - 如何解决错误:使用一键演示导入 WordPress 导入数据时出现内部服务器错误 (500)?
- excel - myDate 和 Int(myDate) 有什么区别
- django - Django:处理用户输入错误的 URL 模式导致 404 的情况
- gradle - 如何将 groovy 类导入 build.gradle 脚本?
- perl - perl中如何将char字符串转换为十六进制
- c# - 从类中获取 sting 变量
- javascript - 确保未定义属性时 es6 find 不会中断
- servlets - 有什么方法可以创建一个具有两个 url-path 的 servlet?
- php - 在 chrome 中工作得很好,但在 IE(Internet Explorer)中却不行