首页 > 解决方案 > react-router的打字稿错误

问题描述

我正在尝试使用 react-router 但我收到以下与打字稿相关的错误。我有以下依赖项@types/react-router 5.1.3、@types/react-router-dom 5.1.3、typescript 3.7.3

[ts] JSX 元素类型“BrowserRouter”不是 JSX 元素的构造函数。“BrowserRouter”类型中缺少属性“render”。

[ts] JSX 元素类不支持属性,因为它没有“props”属性。

这是我尝试使用路由器的代码片段。语法遵循与我在网上找到的许多示例相同的约定,所以我确信这不是问题。找不到有关此问题的任何其他帖子,而且我对打字稿的弱点也不是很熟悉,因此我不确定要开始解决此错误的方法。谢谢。

export default (props : IProps) => {
  const classes = useStyles();

  const Home = () => {
    return (<div className={classes.app}>
      <Header />
    </div>);
  };

  const Edit = () => {
    return (<div className={classes.app}>
      <Header />
    </div>);
  }

  return (
      <Router>
        <Switch>
          <Route path="/" component={Home}/>
          <Route path="/edit" component={Edit}/>
        </Switch>
      </Router>
  );
};

标签: reactjstypescriptreact-router

解决方案


推荐阅读