reactjs - IE11:元素类型无效:期望字符串(对于内置组件)或类/函数(对于复合组件)但得到:对象
问题描述
const header = ReactDOMServer.renderToString(<MyComponent testprops={this.props.testprops} />)
我收到“元素类型无效:需要一个字符串(对于内置组件)或一个类/函数(对于复合组件),但得到:对象。” 仅在 Internet Explorer 11 中发布。
当我删除上面的代码时,它工作得很好,我需要带有标题的 window.print() 的 abpve 代码
使固定:
const MyComponent = React.memo(props => {
return (<span>Testing</span>)
})
变成
class MyComponent extends PureComponent {
return (<span>Testing</span>)
}
React.memo 抛出错误
解决方案
ReactDOMServer.renderToString(<MyComp />)
MyComp 不应该用React.memo
or构造<Fragment>
,IE11 会抛出 Element type is invalid 错误。
删除React.memo
或<Fragment>
将解决问题
推荐阅读
- powershell - 如何在发布管理/管道期间在 TFS 2015 中进行代码备份
- sql - 在另一列中使用列别名
- java - 在休眠中使用 postgres 序列来增加不是 id 的列值
- oracle - ORA-01034: ORACLE 在远程连接上不可用
- powershell - 将 System.String 转换为对象
- laravel - 如何从外部 API url 获取数据
- python - 如何提取其中包含特定元素的所有 div,它不是类、跨度、a 或 li?
- java - 在 Android 中使用 MultiPartEntity 将文件和字符串发送到服务器
- android - Libgdx 的 64 位支持:为什么我仍然收到来自 Google Play 的“需要操作”电子邮件?
- notepad++ - 合并某些两个范围的行