Я использую 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
какой-то, если я делаю это неправильно, но я не могу понять эту ошибку ...
Я ценю любую помощь, указывающую на источник ошибки. Заранее спасибо!