gpt4 book ai didi

reactjs - React, typescript 属性 'setState'在类型中丢失

转载 作者:搜寻专家 更新时间:2023-10-30 20:34:53 33 4
gpt4 key购买 nike

我的 React 组件出现 TS 错误。该组件运行良好,正在构建等,但是 typescript 在 ide 中显示错误。不确定我需要如何声明它以消除错误。我试图在组件本身内部创建一个 setState 方法,但这会产生更多错误。

Error:(15, 19) TS2605:JSX element type 'Home' is not a constructor function for JSX elements. Property 'setState' is missing in type 'Home'.

" typescript ": "^2.3.4",

“ react ”:“^15.5.4”,

"react-dom": "^15.5.4",

!----

export class App extends React.Component<Props, State> {
public state: State
public props: Props

constructor(props: Props) {
super(props)
this.state = {
view: <Home />, <<<<
}

-- 为简洁起见删除了其余部分

export class Home extends React.Component<Props, State> {
public state: State;
public props: Props;

constructor(props: Props) {
super(props)

}
public render() {
return <h1>home</h1>
}
}

最佳答案

有同样的问题,但我的问题是我错误地导入了 React

使用 TypeScript 时导入它的正确方法是使用 import * as React from "react" .

代码示例:

import * as React from "react"
import ReactDOM from "react-dom"

class App extends React.Component<any, any> {
render() {
return (
<div>Hello, World!</div>
)
}
}

ReactDOM.render(<App />, document.getElementById("app"))

注意: <any, any>允许您在 React 组件中使用任何 Prop 和状态变量,但您通常应该自己定义它们以利用 TypeScript 的类型注释。

关于reactjs - React, typescript 属性 'setState'在类型中丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44568789/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com