我开始学习打字稿,这是一种我不理解的行为.
我收到了这个错误:
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>'.
这是我的App组件:
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);
如果我通过void或React.Props更改我的App组件AppProps的声明我没有错误,但我总是有一个AppProps.
我不会理解为什么它不起作用,AppProps正在从React.Props扩展.你看错了吗?
我遇到了与react-router@4.1.1类似的问题.
我通过使用RouteComponentProps接口扩展我的AppProps接口来修复它,因此在您的情况下,AppProps接口将如下所示:
import { RouteComponentProps } from 'react-router'; ... interface AppProps extends RouteComponentProps<any> { todos: TodoItemData[]; actions: typeof TodoActions; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。