url已更换,但组件未在react redux中加载

时间:2016-09-12 19:02:05

标签: reactjs react-redux react-router-redux

如果ajax返回401,我将应用程序重定向到notfound url 调度(routerActions.push(constant.PREFIX +' NOTFOUND /')); 只有url更新到/ notfound组件没有加载自己 我必须刷新才能加载未发现的组件。

这是我的routes.js文件代码

<Provider store={store}>
    <Router history={history}>
        <Route path="/admin" component={AppBase} onEnter={requireAuth} >
            <IndexRoute component={UsersList} />
            <Route path="users" component={UsersList}/>
            <Route path="product" component={ProductsList}/>
        </Route>
        <Route path="/admin" component={BasePage}>
            <Route path="login" component={Login}/>
            <Route path="notfound" component={NotFound}/>
        </Route>
        <Route path="*" component={NotFound}/>
    </Router>
</Provider>,

所有路线工作正常,我希望我使用

将其重定向到/不发现

调度(routerActions.push(&#39; /管理/ NOTFOUND /&#39;));

这是我的行动

import axios from 'axios';
import { routerActions,push } from 'react-router-redux';

export function fetchData() {
    return function(dispatch) {
        dispatch(requestData());
            return axios.get(USER_LIST_URL)
            .then(function(res){
                dispatch(receiveData(res.data));
            })
            .catch(function(res){
                dispatch(receiveError(res.data));
                dispatch(push('/admin/notfound'));
            });
    }
};

0 个答案:

没有答案