首页 > 解决方案 > 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 抛出错误

标签: reactjsinternet-explorer-11

解决方案


ReactDOMServer.renderToString(<MyComp />)

MyComp 不应该用React.memoor构造<Fragment>,IE11 会抛出 Element type is invalid 错误。

删除React.memo<Fragment>将解决问题


推荐阅读