什么时候在中间件中检测到 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 (将#修改为@)