Ich fange an, Typoskript zu lernen, und das ist ein Verhalten, das ich nicht verstehe.Kann nicht bestimmen, wie Redux und React-Router auf der gleichen Komponente zu verwenden sind
Ich habe diesen Fehler:
Type 'ComponentClass<{}>' is not assignable to type 'StatelessComponent<void | RouteComponentProps<any>> | ComponentClass<void | RouteComponentProps<a...'.
Type 'ComponentClass<{}>' is not assignable to type 'ComponentClass<void | RouteComponentProps<any>>'.
Type '{}' is not assignable to type 'void | RouteComponentProps<any>'.
Type '{}' is not assignable to type 'RouteComponentProps<any>'.
Hier ist meine App-Komponente:
interface AppProps extends React.Props<void> {
todos: TodoItemData[];
actions: typeof TodoActions;
};
interface AppState {
/* empty */
}
class App extends React.Component<AppProps, AppState>{
render() {return (<div></div>);
}
}
function mapStateToProps(state: RootState) {
return {
todos: state.todos
};
}
function mapDispatchToProps(dispatch) {
return {
actions: bindActionCreators(TodoActions as any, dispatch)
};
}
export default connect(
mapStateToProps,
mapDispatchToProps
)(App);
Wenn ich in der Erklärung meiner App Komponente AppProps durch nichtig oder Reagieren ändern. Props Ich habe keine Fehler, aber ich habe immer einen mit AppProps.
Ich verstehe nicht, warum es nicht funktioniert, AppProps erstreckt sich von React.Props. Hast du den Fehler gesehen?
React-Router v4 Typings sind ziemlich neu. Ich sehe, dass sie etwas wie "RouteComponentProps" -Schnittstelle in Requisiten verwenden. Um sie richtig zu verwenden, überprüfen Sie ihre Tests - https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/react-router/test – niba
Es würde helfen (und klären), wenn Sie angegeben haben, welche Version von react-router Sie verwenden . – nbkhope