当前位置: 首页 > 知识库问答 >
问题:

react路由器dom和react with typescript中的类型错误

葛书
2023-03-14

我是react with typescript的初学者,在下面的代码中面临问题

下面是仪表板组件的代码

export default function Dashboard() {
return(
  <p>Dashboard page</p>
 )
 }

这是路线代码

const AppRouter = () => {
  return (
    <Router history={history}>
      <div>
        <Switch>
          <Route path={"/dashboard" } component={Dashboard} />

          <Route path="/" component={Login} />
        </Switch>
      </div>
    </Router>
  );
};

export default AppRouter;

在路线代码中,我面临类型问题,即。

E:/Web/src/router/route中的TypeScript错误。tsx(18,51):

没有重载匹配此调用。

重载1 of 2,'(props: ReadOnly): Road',给出以下错误。键入{Dashboard: string;}不能分配给键入'ComponentClass|FunctionComponent|ComponentClass,任何

键入“{Dashboard:string;}”不可分配给类型“FunctionComponent”

重载2/2'(道具:RouteProps,上下文?:any):Route'给出了以下错误。键入“{Dashboard:string;}”不可分配给“ComponentClass | FunctionComponent | ComponentClass”类型,任何

键入“{Dashboard:string;}”不可分配给类型“FunctionComponent”

16 |       <div>
17 |         <Switch>

18 | | ^ "

共有1个答案

卢聪
2023-03-14

您似乎没有为组件指定类型(仪表板登录)。

您需要执行与下面的组件声明图像类似的操作,其中您将组件的类型设置为React。FC导入React库后。(FC代表功能组件,因为我们不使用基于类的组件模型)

 类似资料:
  • 向下滚动当前代码&错误 这段代码单独工作并呈现我的'app'组件 但是当我试图在我的应用程序组件中添加一个“链接”组件时,它将无法识别它。

  • 我有一个使用React,React路由器Dom(RRD),Redux和Typecript的项目。默认情况下,RRD将和道具传递给我在路由组件道具中定义的子组件(见下文)。在我的组件中,Redux还向我的组件添加了两个道具,一个函数(getPlaylist)和一个对象(auth)。 在我的组件中,当我输入所有道具时,我在输入和时遇到问题。 我尝试了以下方法,但没有成功: 添加了自定义道具的Route

  • 大家好,我不知道发生了什么事。我有以下路线: 只有路径为“/”的路由和路径为“/patient/:id”的路由才有效,其他3条路由只是没有显示与路径对应的组件。 这就是我进入路线的方式。我有一个标题组件,上面有正确的链接。见下文 在头组件中,我从'react router dom'导入{Link};在我声明路由的文件中,我从'react router dom'导入{BrowserRouter,Ro

  • 如果我将路由折叠起来,这样看起来就像: 工作很好。我嵌套的原因是因为我将在“dashboard”下有多个子项,并且希望它们都在URL中以为前缀。

  • 使用redux和反应路由器,我想访问路由指定的组件以外的组件上的路由参数。 我已经对react-router、redux和react-router-redux进行了如下设置,我想从我的redux存储访问reportId参数。 我已经尝试连接react-redux路由器来存储路由状态,但是我发现除了活动路由的完整路径之外,redux内部没有任何有用的存储。这让我可以选择从redux中的路径解析出re

  • 我正在尝试使用react路由器dom。当我将组件导出为 并将其作为路由中的组件使用如下- 我在Chrome控制台收到以下警告- 警告:失败的prop类型:无效的prop