加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

reactjs – 无法确定如何在同一组件上使用Redux和React-router

发布时间:2020-12-15 05:07:36 所属栏目:百科 来源:网络整理
导读:我开始学习打字稿,这是一种我不理解的行为. 我收到了这个错误: Type 'ComponentClass{}' is not assignable to type 'StatelessComponentvoid | RouteComponentPropsany | ComponentClassvoid | RouteComponentPropsa...'. Type 'ComponentClass{}' is not
我开始学习打字稿,这是一种我不理解的行为.

我收到了这个错误:

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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读