【发布时间】:2021-05-07 00:12:40
【问题描述】:
我有一个简单的组件,它将在用户重置密码时显示。
首先,我已经为组件设置了路由,然后创建了页面(ResetPassword)。
当用户重置密码后路由添加了参数时,我想将 url 参数 key 和 email 呈现到屏幕上。
通过阅读withRouter 的文档,我认为我可以访问match、params,然后访问 url 中的键并将它们呈现到屏幕上。但是这不起作用。
知道为什么吗?
这是我的代码:
// @flow
import React from 'react';
import { compose } from 'ramda';
import { withRouter } from 'react-router-dom';
import Helmet from 'react-helmet';
import featureRoute from '../components/Decorators/featureRoute';
type Props = {
match: {
params: {
email: string,
key: any
}
},
location: {
pathname: string
}
};
export const ResetPassword = ({
match: {
params: { email, key }
},
location: { pathname }
}: Props) => {
const text = 'view page';
return (
<>
<Helmet title="Page title" titleTemplate="%s" />
<div className="p-page">
<div>{text}</div>
<div>{email}</div>
<div>{key}</div>
<div>{pathname}</div>
</div>
</>
);
};
export default compose(
featureRoute(),
withRouter
)(ResetPassword);
路线
{
component: ResetPassword,
path: '/password/reset/update',
exact: true,
},
【问题讨论】:
标签: javascript reactjs routes react-router-dom