Проверка типа потока и MOBX не работает - PullRequest
0 голосов
/ 22 декабря 2018

Добавление потока в приложение реагирования кажется простым, простой пример показанной ошибки можно увидеть здесь:

Props2 = {
    name: string,
}
class _TestComponent extends Component<Props2> {
    render() {
        return <div>{this.props.name}</div>
    }
}
export function TestFunc(props: {}) {
    return <_TestComponent/>
}

Это вернет ошибку Cannot create _TestComponent element because property name is missing in props [1] but exists in Props2 [2].

Однако при добавленииMobX к смеси проверка типов внезапно перестает работать вообще.Когда я пытаюсь создать наблюдателя, поток просто не дает никакой информации о типе:

type Props2 = {
    name: string,
}
class _TestComponent extends Component<Props2> {
    render() {
        return <div>{this.props.name}</div>
    }
}
export const TestComponent = observer(_TestComponent);
export function TestFunc(props: {}) {
    return <TestComponent/>
}

Показывает No errors!

Если я пытаюсь обновить TestComponent, чтобы иметь определенный тип:

export const TestComponent:_TestComponent = observer(_TestComponent);

Отображается очень загадочная ошибка: Cannot create TestComponent element because _TestComponent [1] is not a React component.

Означает ли это, что flow и mobx несовместимы друг с другом?Из-за того, что mobx использует функции более высокого порядка, чтобы сделать «свою магию»?

...