React Native:'React'引用umd全局变量,但当前文件是一个模块,请考虑添加导入

mwngjboj  于 2023-05-23  发布在  React
关注(0)|答案(5)|浏览(447)

在**.tsx文件中添加View**组件时,出现此错误。

wljmcqd8

wljmcqd81#

我提出了这个问题,并回答了自己,因为我认为这将有助于其他人谁也面临着类似的问题。
请在代码导入语句中导入React

import * as React from 'react';

参考文献:
https://github.com/Microsoft/TypeScript/issues/14118

7rfyedvj

7rfyedvj2#

不需要使用 * 导入所有内容
只是缺少了react,需要导入,以便理解JSX。
所以只要跟着做

import React from 'react';
bqucvtff

bqucvtff3#

尝试以这种方式导入

import React, {Component} from 'react';
k4emjkb1

k4emjkb14#

随着React 17中引入了新的JSX转换,不再需要在每个使用JSX的文件中导入React。如果您使用的是TypeScript,请编辑tsconfig中的jsx编译器选项以使用"react-jsx"

{
    "compilerOptions": {
        "jsx": "react-jsx"
    }
}

旧的默认转换("jsx": "react")将JSX编译为对React.createElement的调用,因此React必须在范围内才能工作。但是,react-jsx转换使用_jsx函数,并自动为其插入导入。在此更改之后,可以安全地删除未使用的React导入。
标签:https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html

n1bvdmb6

n1bvdmb65#

使用以下任一方法删 debugging 误:

declare var React: any;
var React;
import React from "react";
import * as React from "react";

相关问题