為啥我import React from 'react'沒(méi)事,但是import react from 'react'就會(huì)報(bào)錯(cuò)?錯(cuò)誤信息為:'React' must be in scope when using JSX react/react-in-jsx-scope這個(gè)不是解構(gòu)吧,還要求名稱一致?而且index.js里面沒(méi)有使用React,在把jsx轉(zhuǎn)化的時(shí)候,到底是提供了怎么樣一個(gè)環(huán)境呢?難道是自執(zhí)行函數(shù),但是直接import 'react'也報(bào)相同錯(cuò)誤。雖然感覺(jué)有點(diǎn)鉆牛角尖,但是我實(shí)在搜索不到相關(guān)問(wèn)題,望有人能夠解答一二,謝謝!
3 回答

鳳凰求蠱
TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊
import React from 'react';const comp = () => ( <div>something...</div>);//...// 編譯 JSX 后:import React from 'react';const comp = () => ( React. createElement('div', null, 'something...' ) );//...
這個(gè)問(wèn)題跟首字母是不是大寫沒(méi)有關(guān)系,是必須使用React
。

飲歌長(zhǎng)嘯
TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
import會(huì)被編譯成require,而require是commonjs規(guī)范里的

墨色風(fēng)雨
TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊
把jsx編譯到j(luò)s需要調(diào)用一個(gè)函數(shù), 這個(gè)函數(shù)在React叫React.createElement
. 你可以比較一下jsx和編譯出的js.
添加回答
舉報(bào)
0/150
提交
取消