«<Class> объявлено, но его значение никогда не читается» и «Не удается найти имя <Class>» одновременно - PullRequest
0 голосов
/ 12 мая 2018

Я использую React и Typescript и react-router - я хочу использовать RouteComponentProps для автоматического связывания this.props.history. Это мой код:

import * as React from "react";
import { connect } from "react-redux";
import {
    RouteComponentProps,
    withRouter,
} from "react-router-native";
import Example from "../../screens/Example";

interface Props {}

interface State {}

class ExampleContainer extends React.Component<RouteComponentProps & Props, State> {

    isValid(value): void {
      if (value!=="") {
        this.props.history.push('/tasks')
      }
    }

    render() {
        return (
            <Example callback={(value: string) => this.isValid(value)}  />
        );
    }
}

const mapDispatchToProps = (_) => ({});
const mapStateToProps = (_) => ({});
export default withRouter(connect(mapStateToProps, mapDispatchToProps)(ExampleContainer));

Однако, я получаю странную ошибку компилятора, говорящую мне, что RouteComponentProps никогда не используется, но в то же время не определено. Вот точное сообщение об ошибке:

src/containers/ExampleContainer/index.tsx:4:2 - error TS6133: 'RouteComponentProps' is declared but its value is never read.

4  RouteComponentProps,
   ~~~~~~~~~~~~~~~~~~~

src/containers/ExampleContainer/index.tsx:13:48 - error TS2304: Cannot find name 'RouteComponentProps'.

13 class ExampleContainer extends React.Component<RouteComponentProps & Props, State> {
                                                  ~~~~~~~~~~~~~~~~~~~

Как правильно связать react-router реквизит? Я считаю, что я должен по крайней мере получить TypeError какой-то, если я делаю это неправильно, но я не могу понять эту ошибку ... Я ценю любую помощь, указывающую на источник ошибки. Заранее спасибо!

1 Ответ

0 голосов
/ 12 мая 2018

Я исправил это, изменив

import {
    RouteComponentProps,
    withRouter,
} from "react-router-native";

Для

import { withRouter } from "react-router-native";
import { RouteComponentProps }  from "react-router";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...