繁体   English   中英

使用 react-router-dom 在 Route 中添加一个组件作为 props

[英]Add a component as props inside a Route with react-router-dom

具有以下代码:

import { Switch, Route, BrowserRouter as Router } from 'react-router-dom';

export function MyComponent({ list }: MyComponentProps) {
  return (
    <Router>
      <Switch>
        <Route path={list[0].url} component={<NextComponent />} />
      </Switch>
    </Router>
  );
}

我想在该路线上加载不同的组件。

react-router-dom是 5.2.0。

此代码不起作用,它在<Route path...下出现一条红线<Route path...说明:

Operator '<' cannot be applied to types 'number' and 'typeof Route'.ts(2365)
(alias) class Route<T extends {} = {}, Path extends string = string>
import Route

有任何想法吗?

react-router-dom v5 中,您没有将component prop 指定为 JSX 文字(RRDv6 语法),只需传递对组件的引用。

component={NextComponent}而不是component={<NextComponent />}

代码

export function MyComponent({ list }: MyComponentProps) {
  return (
    <Router>
      <Switch>
        <Route path={list[0].url} component={NextComponent} />
      </Switch>
    </Router>
  );
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM