Как добавить совпадения реквизита для интерфейса в машинописи - PullRequest
0 голосов
/ 29 апреля 2020

Привет, я совсем новичок в машинописи, и это меня немного смущает. Как мне определить реквизиты из соответствия реакции маршрутизатора, которые я получаю в своем пользовательском компоненте как реквизиты?

Код моего компонента:

type IProps = {
    match:________, //WHAT SHOULD I PUT HERE?
}

type Istate = {
    loading: boolean,
    data: Object,
}


export class SubjectDashboard extends Component<Iprops, Istate> {



    componentDidMount() {
        this.getSubjectResults().then((r) => this.setState({loading: false, data: r}));
    }

    async getSubjectResults() {
        const roleId = this.context.role.id;
        const subjectId = this.props.match.params.id;
        const response = await fetch(RequestsUrlConstants.getStudentSubjectTreeWithResults(roleId, subjectId));
        const data = await response.json();
        if (response.status !== 200) {
            toast.error('Nepodarilo sa načítať dáta');
            return;
        }
        console.log(data);
        return data;
    }
}

1 Ответ

1 голос
/ 30 апреля 2020

Во-первых, похоже, что у вас есть опечатка с Iprops и IProps

Далее вы можете использовать интерфейсы:

interface IParams {
  id: string
}

interface IMatch {
  params: IParams
}

interface IProps {
  match: IMatch
}

Или введите:

type IParams = {
  id: string
}

type IMatch = {
  params: IParams
}

type IProps = {
  match: IMatch
}

или встроенный:

interface IProps {
  match: {
    params: {
      id: string
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...