reactjs - 'state' özelliği 'FetchPeriod' türünde mevcut değil
Bu eğitici: Tutorial'i takip ederek ReactJS öğrenmeye çalışıyorum
Programlama diline yeniyim, bu yüzden şimdi ne yapacağım konusunda hiçbir fikrim yok.
“Fetchemployee.tsx” dosyasını eklemeye çalıştığımda, this.state metodunda bir hata alıyorum.
(TS) 'state' özelliği 'FetchPeriod' türünde mevcut değil
Bu kod:
import * as React from 'react';
import { RouteComponentProps } from 'react-router';
import { Link, NavLink } from 'react-router-dom';
interface FetchPeriodDataState {
periodList: PeriodData[];
loading: boolean;
}
export class FetchPeriod extends React.Component<RouteComponentProps<{}>, FetchPeriodDataState> {
constructor(props) {
super(props);
this.state = { periodList: [], loading: true };
fetch('api/Period/Index')
.then(response => response.json() as Promise<PeriodData[]>)
.then(data => {
this.setState({ periodList: data, loading: false });
});
// This binding is necessary to make "this" work in the callback
this.handleDelete = this.handleDelete.bind(this);
this.handleEdit = this.handleEdit.bind(this);
}
Ve sonra daha sonra PeriodData sınıfım var:
export class PeriodData {
PeriodId: number = 0;
Description: string = "";
PeriodOwner: string = "";
PeriodName: string = "";}
this.state ve this.setState yöntemleri başlıktaki hataları veriyor ve bir çözüm bulamıyorum.
Cevap #1
Sorunun olası nedenlerinden biri React tür tanımlarının eksik olmasıdır. Bu nedenle onları yüklemeyi deneyebilirsiniz:
npm install --save-dev @types/react @types/react-dom
Tipler yüklenmeden, TS JSX elemanları için gereken özellikleri doğru şekilde çıkaramaz.
