我從我的反應組件中收到ts錯誤。該組件運行良好,建設等,但打字稿顯示IDE內的錯誤。不知道我需要如何聲明此刪除錯誤。我試圖在組件本身內創建一個setState方法,但是這給了更多的錯誤。Reactj,typescript Property'setState'在類型
Error:(15, 19) TS2605:JSX element type 'Home' is not a constructor function for JSX elements. Property 'setState' is missing in type 'Home'.
「打字稿」: 「^ 2.3.4」,
「反應」: 「^ 15.5.4」,
「反應-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 />, <<<<
}
- !其餘爲簡潔
0123取出
您不應該將組件實例置於您的狀態。相反,你需要將這個組件的道具置於你的狀態,然後在'render'函數中創建它。 –
哦,對,我基本上使用this.setState({view: })綁定每個視圖,然後在render方法下渲染視圖,如{this.state.view}。我想用它作爲基本的路由器,它正在工作,但在IDE中產生ts錯誤。 –
Jimi
這不是它應該做的。國家需要保持簡單。永遠不要讓組件處於狀態或道具 –