微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

什么时候在中间件中检测到 LOCATION_CHANGE?

如何解决什么时候在中间件中检测到 LOCATION_CHANGE?

我们正在考虑拦截中间件中的 LOCATION_CHANGE 操作以决定是否重定向

import { LOCATION_CHANGE } from 'react-router-redux';
import { getBasePath } from 'src/services/Metadata/reducer';

const performHardReload = ({ action }) =>
    action.type === LOCATION_CHANGE &&
    action.payload &&
    action.payload.pathname === '/home';

const middleware = ({ getState }) => next => {
    return action => {
        if (performHardReload({ action })) {
            const redirectUrl = '/somewhere-else';
            window.location.replace(redirectUrl);
            return Promise.resolve();
        }
        return next(action);
    };
};

export default middleware;

我们想知道是否可以保证在主页开始呈现之前检测到 LOCATION_CHANGE 操作,从而避免在重定向开始之前出现内容闪烁。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。