人。正在处理TypeScript / React项目(只是习惯了它,一年没有写React等),并且遇到了问题。
当我编写此组件时,我遵循了发现的一些文档,但是在该文件末尾出现TS1128(预期的声明或声明)错误,我不知道为什么:
import * as React from 'react';
import Count from './CountDisplay';
interface State {
count: number;
}
class Counter extends React.Component<{}, State> {
state: State = {count: 0};
increment() {
this.setState({
count: (this.state.count + 1)
});
}
decrement() {
this.setState({
count: (this.state.count - 1)
});
}
render(): JSX.Element {
return (
<div>
<Count count={this.state.count}/>
<button onClick={this.increment}>Increment</button>
<button onClick={this.decrement}>Decrement</button>
</div>
);
}
}
export default Counter;
不知道为什么我总是出错,因为代码看起来不错(或者我认为是这样),但是我可能是错的。
下面是我的TSConfig.json,因为我认为这可能与问题有关:
{
"compilerOptions": {
"outDir": "./dist",
"sourceMap": true,
"noImplicitAny": true,
"module": "commonjs",
"target": "es6",
"jsx": "react"
}
}
任何帮助将不胜感激,我对此已经一阵子了,有点卡住了。
答案 0 :(得分:27)
关闭并重新打开文件也会对其进行修复。看来IntelliJ TypeScript解析可能不同步。
我参加聚会可能有点晚了,但是我也经历了这一点,为我解决的是以下步骤。
现在,我不确定为什么能解决此问题,但是我有一些猜测。 我正在使用IntelliJ,因为我从未在其他地方遇到过此问题,因此我假设您也在使用您的东西,即使存在此问题,TS编译也很好。这更多的是编辑错误,至少对我而言。重新打开编辑器也可以解决此问题。
希望这对您有帮助!
答案 1 :(得分:3)
在设置>语言和框架>打字稿>打字稿语言服务中取消选中更改时重新编译 解决了该问题,尽管根本原因仍然未知。
答案 2 :(得分:1)
当我在WebStorm 2019.3.1中遇到此问题时,可以通过转到“文件”>“使缓存无效/重新启动...”并按“无效并重新启动”按钮来解决此问题。 WebStorm重新启动时,错误消失了。
答案 3 :(得分:0)
在“设置”>“语言和框架”>“打字稿”中关闭打字稿语言服务。然后重新打开。这为我解决了。