Поток - не может расширить «Компонент» с «Домой», потому что литерал объекта [2] несовместим с неопределенным [3] в состоянии свойства - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь использовать Flow с реакцией, я следовал некоторым учебникам, но не могу решить эту ошибку, мой код выглядит так:

import React, { Component } from "react";
import { Link, withRouter } from "react-router-dom";

import { login } from "../../services/auth";
import api from "../../services/api";
import { getToken } from "../../services/auth";

import type { RouterHistory } from "react-router-dom";

type State = {
    username: number,
    password: string,
    history: RouterHistory,
}

class Home extends Component < State > {
    handleChange = this.handleChange.bind(this);
    handleSignIn = this.handleSignIn.bind(this);

    state = {
        username: '',
        password: '',
        history: '',
    };

ошибка появляется в состоянии внутри компонента.

РЕДАКТИРОВАТЬ 1: добавление:

...
type Props = {/ * ... * /};
...
class Home extends Component <Props, State>

Это сработало!Но хотели бы вы понять, почему?

1 Ответ

0 голосов
/ 26 ноября 2018

В определениях потока React аргументами универсального типа для компонента являются сначала реквизиты, а затем состояние.Итак, как вы заметили, сначала нужно указать тип реквизита, а затем указать его состояние.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...