我正在尝试在带有IIS Express(无Node.js)的Visual Studio 2019上重现此内容:ASP.NET Core: CRUD With React.js and Entity Framework Core。使用NuGet Microsoft.Typescript.MsBuild(3.3.3)编译打字稿文件。 但是编译不会针对Typescript文件运行,因为尽管TypeScript类继承自React.Component,但无法识别属性“ state”和“ setState”(Visual Studio消息“不存在”)。
我尝试将javascript编译更改为Ecma 6/5/2016 ...
import React from 'react';
export class GetUser extends React.Component {
constructor(props) {
super(props);
this.state = ...
在Visual Studio中,this.state用红色下划线标出,因此该文件不会被翻译
答案 0 :(得分:0)
软件包react
没有公开其类型。这意味着打字稿不知道在React.Component
中声明了哪些属性或方法。
并且因为它不知道this.state
存在,所以显示错误。
为了使短绒棉know知道React.Component
的类型,请安装软件包@types/react,例如:
npm install --save @types/react
此外,我没有反应,但是我发现了这个问题:
请勿直接更改this.state,因为之后可能会调用setState() 替换您所做的突变。将this.state视为 不变的。
答案 1 :(得分:0)
**Please try below code it'll help you to find your error.**
import React from 'react';
class GetUser extends React.Component {
constructor(props){
super(props);
this.state = {
name:'Demo';
}
}
render(){
return(
<div>{this.state.demo}</div>
)
}
}
export default GetUser;