当我单击邮件中的链接(具有包含身份验证令牌的密钥)时,它会将我重定向到“更新密码”页面。但是,如果用户只是输入密码,我就不想重定向它。网址。
[{http://localhost:3000/update-password?key=ZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFh]应该重定向到更改密码页面,而[http://localhost:3000/update-password]应该重定向到PageNotFound页面。希望您能理解。
答案 0 :(得分:0)
您应该遵循三个步骤:
从react-router
获取当前的const {
location: { search }
} = propsFromReactRouter
:
search
检查,import { parse } from 'query-string';
const searchData = parse(search);
const { key } = searchData;
是否包含密钥。您可以手动使用https://www.npmjs.com/package/query-string来做到这一点。
import {Redirect} from 'react-router-dom'
// ...
return (
<Redirect to="/404" />
)
如果搜索不包含关键字,请重定向到未找到的页面
{{1}}