React URL参数不匹配不传递给扩展React.FC的功能组件

问题描述

我正在使用react路由器,并且我有一个React组件MyComponent,当用户使用动态参数pagename和someId转到特定的url时会显示该组件,如以下路由所示:

在Routes.tsx中:

const Routes: React.FC = () => {
  return (
    <Router>
      <Switch>

        <Route path="/:pagename/:someId/" component={MyComponent} />
      </Switch>
    </Router>
  );
}

问题是MyComponent被编写为扩展React.FC的功能组件,并且以下代码记录了未定义pagename和someId的情况:

const MyComponent: React.FC<MyProps> = = ({ match }: MyProps) => {
    const pagename = match.params.pagename;
    const someId = match.params.someId;
    console.log('pagename is '+pagename);
    console.log('someId is '+someId);
};

interface MyProps {
  match: any;
}

当MyComponent是扩展React.Component的类时,我已经看到了几种获取这些匹配项的解决方案,但是我如何才能使这些匹配项在这样的功能组件中正常工作?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)