Next Js & Typescript - 类型上不存在属性 setState 示例
Posted
技术标签:
【中文标题】Next Js & Typescript - 类型上不存在属性 setState 示例【英文标题】:Next Js & Typescript - Property setState does not exist on type Example 【发布时间】:2018-12-02 20:48:26 【问题描述】:代码工作正常,但我不知道如何在 VSCode 中删除此错误。 感谢您的帮助。
import * as React from 'react';
interface State
text: string;
export default class Example extends React.Component<State>
state: State =
text: 'SOME TEXT'
private handleChange = () =>
this.setState(text: 'New Text'); //error: property setState does not exist on type Example
public render()
return(
<div>
<h2 onClick=this.handleChange>this.state.text</h2>
</div>
)
【问题讨论】:
所以即使它给你错误,setstate 仍然有效? 【参考方案1】:首先,确保您已安装反应类型定义:
npm install @types/react @types/react-dom
其次,state 的泛型排在第二位,而不是第一位。第一个是道具。
export default class Example extends React.Component<, State>
查看 React 类型定义以验证这一点(转到 Component
上的定义)。 <P, S>
表示道具,然后是状态。
class Component<P, S>
【讨论】:
解决了。随着添加 npm install @types/react @types/react-dom 谢谢伙计。 这应该是一个绿色勾号!【参考方案2】:我只是通过更改使用的打字稿版本解决了 VSCode 中的相同问题 => 打开命令面板>“选择打字稿版本”>“使用工作区版本”
【讨论】:
以上是关于Next Js & Typescript - 类型上不存在属性 setState 示例的主要内容,如果未能解决你的问题,请参考以下文章
在带有 TypeScript 的 Next.js 中使用 getInitialProps
如何在带有 TypeScript 的 next.config.js 中使用 i18n 和 next/image?
使用 getStaticProps 获取数据 Next.js 和 Typescript
使用`let cached = global.mongoose`时出现Next.js + Typescript + mongoose错误
Storybook 在 React、Next.JS、Typescript 项目中找不到组件
Next.js:在 getServerSideProps 中使用带有 TypeScript 的 next-redux-wrapper 调用 Thunks?