反应浏览器history.push第一次不起作用

时间:2018-09-18 02:34:42

标签: reactjs redux react-router

我正在加载带有url参数的页面,然后使用browserhistroy.push()重置为根url,这是第一次不起作用,并且在我看到日志时props.param显示了相同的旧url路径名。第二次,当我再次单击它时,它按预期运行。 注意:通过“ react-router”将React与redux一起使用。 码: route.js

{
      path: '/:menuitem',
      name: 'Products',
      getComponent(nextState, cb) {
        const importModules = Promise.all([
          import('views/Products/modules/reducer'),
          import('views/Products/modules/sagas'),
          import('views/Products'),
        ]);

        const renderRoute = loadModule(cb);

        importModules.then(([reducer, sagas, component]) => {
          injectReducer('search', reducer.default);
          injectSagas(sagas.default);
          renderRoute(component);
        });
        importModules.catch(errorLoading);
      },
    },

在组件中:设置参数/ URL

 var urlname = options[secIndex][itemIndex].name;
      urlname = urlname.replace(/\s+/g, '-').toLowerCase();
      console.log(urlname);
      browserHistory.push('/'+urlname);
      this.props.leftStripActions.onFilterByLens(options[secIndex][itemIndex]);

重置为root:  browserHistory.push('/'); [这是第一次无效enter code here]

任何帮助将不胜感激!!!

1 个答案:

答案 0 :(得分:0)

use => this.props.history.push(url)