React.createElement: type is invalid

React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object

这个react项目使用的是typescript写的,所以一些没有@types的js库不能用import引用,所以这些库我用的require引用,但是其中一个报了以上错误(这个也不能用declare声明),求助该怎么办呢?

阅读 3.3k
3 个回答

报这个错误,应该是由于你让React直接渲染了一个object了。因为require引入的东西是一个Object,需要

const Example = require('Example').default

加一个.default。图中是我为了说明问题自己用require引入的一个React组件
相关文章

图片描述

这不是ts的错吧

  1. 一些没有@types的js库不能用import引用这个不对,即使没有@types,也可以import,但是会没有代码提示,为any类型,此情况下也可以自己手动加declare
  2. require方式要注意导入的变量是什么,比如通过export default xxx导出的,就需要require('').default来访问到,建议log检查一下到底require进来一个怎样结构的东西。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题