猿问

为什么import React from 'react',React首字母必须大写?

为啥我import React from 'react'没事,但是import react from 'react'就会报错?

错误信息为:'React' must be in scope when using JSX react/react-in-jsx-scope

这个不是解构吧,还要求名称一致?

而且index.js里面没有使用React,在把jsx转化的时候,到底是提供了怎么样一个环境呢?难道是自执行函数,但是直接import 'react'也报相同错误。

虽然感觉有点钻牛角尖,但是我实在搜索不到相关问题,望有人能够解答一二,谢谢!


RISEBY
浏览 1617回答 3
3回答

凤凰求蛊

import&nbsp;React&nbsp;from&nbsp;'react';const&nbsp;comp&nbsp;=&nbsp;()&nbsp;=>&nbsp;(&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;<div>something...</div>);//...//&nbsp;编译&nbsp;JSX&nbsp;后:import&nbsp;React&nbsp;from&nbsp;'react';const&nbsp;comp&nbsp;=&nbsp;()&nbsp;=>&nbsp;( &nbsp;&nbsp;&nbsp;&nbsp;React.&nbsp;createElement('div',&nbsp;null,&nbsp;'something...'&nbsp;) );//...这个问题跟首字母是不是大写没有关系,是必须使用React。

饮歌长啸

import会被编译成require,而require是commonjs规范里的

墨色风雨

把jsx编译到js需要调用一个函数, 这个函数在React叫React.createElement. 你可以比较一下jsx和编译出的js.
随时随地看视频慕课网APP
我要回答