我正在尝试导入小写的
import react from 'react'
(小写)
进入我的组件
我知道我在这里输入了小写字母
实际上,当我将其变成大写字母时,它确实得到了纠正
import React from 'react'
(大写)
这是我的代码
import react from 'react'
class Test extends react.Component{
render(){
return(
<div>
hi there
</div>
);
}
}
这是小写形式时出现的错误:
Uncaught ReferenceError: React is not defined
我的问题是为什么会这样?
答案 0 :(得分:1)
JSX is just sugar for React.createElement
calls,因此,如果将React导入命名为react
,则不会定义React
。
如果您出于某种原因想要更改为react.createElement
并导入react
,you can change the pragma with e.g. a // @jsx react.createElement
comment。
答案 1 :(得分:0)
您需要import React from react
。
看起来像纯HTML的代码实际上是JSX,在Webpack编译后使用React.createElement
import React from 'react'
class Test extends React.Component{
render(){
return(
<div>
hi there
</div>
);
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
答案 2 :(得分:0)
当您在组件类中使用render函数时,它将上面的jsx语法转换为React.createElement。此参考错误实际上是此“反应”造成的。