使用React-Redux-Electron,React-Router Redirect根本不工作

时间:2017-08-15 19:22:08

标签: javascript reactjs redux react-router electron

我正在尝试使用react-router有条件地重定向到模式中的其他页面。

我已经在相关组件的底部以及connect函数中实现了withRouter。我目前没有使用Reducer,因为我在根模式组件中有一个开关,它捕获一个类型,然后渲染一个组件。下面是交换机的一个片段。

case type.componentName
  return <Redirect to='/component' />
break;

但是,新组件仍未呈现。就好像Redirect根本没有注册一样。我的路线在下面。

  <App>
    <Switch>
      <Route path="/" component={HomePage} />
      <Route component={upperComponent}>
        <Route path="/modal" component={rootComponent}>
          <Route path="/component" component={component} />
        </Route>
      </Route>
    </Switch>
  </App>

我最初通过布尔值修改状态来渲染页面,并且基于它,将呈现不同的组件。这工作得很好,但我宁愿在渲染新页面时使用React-Router。关于我如何调用Redirect或者我是否应该使用完全不同的策略,是否存在根本性的错误?

评论中要求提供以下代码。这是在我的容器组件中,每个组件有一个。

import { bindActionCreators } from 'redux';
import { connect } from 'react-redux';
import rootComponent from '../components/rooComponent';
import { withRouter } from 'react-router-dom';
import * as rootComponentlActions from '../actions/rootComponent';

function mapStateToProps(state) {
  return {
  };
}

function mapDispatchToProps(dispatch) {
  return bindActionCreators(rootComponentActions, dispatch);
}

export default withRouter(connect(mapStateToProps, mapDispatchToProps)(rootComponent));

我还尝试在我的子组件中将export default withRouter(component);添加到根目录和根目录中,以根据我过去阅读的一些示例对其进行测试。据我所知,它没有区别,无论好坏。

0 个答案:

没有答案