我有一条/cart
路线,它接受几个名为validate
and的查询参数email
。它们仅在用户未登录时使用,并且在用户登录时是不必要的。在后一种情况下,我想从 URL 中删除它们。
这是我当前onEnter
的/cart
路线功能:
const requireCartLogin = (props, replace) => {
const { email, validate } = props.location.query;
// Exit process if the 'validate' query isn’t present.
if (typeof validate === 'undefined') { return; }
if (!isAuthenticated() || requiresReauthentication()) {
replace({
pathname: '/account/signin',
query: { step: 'signin' },
state: {
email: typeof email !== 'undefined' ? email : null,
auth: true,
next: '/cart'
}
});
} else if (isAuthenticated()) {
replace({
pathname: '/cart',
query: null
});
}
};
这是条件的第二部分应该删除查询参数,但它目前不起作用。我在这里错过了什么?