React-router - 检查空状态并重定向?

Bom*_*ber 6 reactjs react-router

如果需要,如何检查空状态并重定向到第一条路线?

我有我的 routes.js

export default (
    <Route path="/" component={App}>
        <IndexRoute component={Screen1} />
        <Route path="/1" component={Screen1} />;
        <Route path="/2" component={Screen2} />
        <Route path="/3" component={Screen3} />
        <Route path="/4" component={Screen4} />
        <Route path="/5" component={Screen5} />
        <Route path="/6" component={Screen6} />
    </Route>
);
Run Code Online (Sandbox Code Playgroud)

和我的 index.js

const store = configureStore();
console.log({ store });
render(
    <Provider store={store}>
        <Router history={browserHistory} routes={routes} />
    </Provider>,
    document.getElementById('root')
);
Run Code Online (Sandbox Code Playgroud)

我将如何使用 react-router

应用程序.js

import React, { PropTypes } from 'react';
import Header from './common/Header';
import ModalRoot from './modals/Modal';
import Footer from './common/Footer';
class App extends React.Component {
    render() {
        return (
            <div className="container-fluid">
                <ModalRoot />
                <Header />
                {this.props.children}
                <Footer />
            </div>
        );
    }
}

App.propTypes = {
    children: PropTypes.object.isRequired,
};

export default App;
Run Code Online (Sandbox Code Playgroud)

Yur*_*mos 3

这是使用React-router-dom @4.0的片段

import { BrowserRouter as Router, Route, Switch, Redirect } from 'react-router-dom';

const Wildcard = () => {
  <Redirect to="/" />
};

const store = configureStore();
console.log({ store });
render(
    <Provider store={store}>
        <Switch>
          <Route exact path="/" component={YOURCOMPONENT} />
          <Route exact path="/:section/:news/:title" component={App} />
          <Route exact path="/:section/:sector/:news/:title" component={App} />
          <Route exact path="/*" component={Wildcard} />
        </Switch>
    </Provider>,
    document.getElementById('root')
)
Run Code Online (Sandbox Code Playgroud)

在第一个路由中插入代表“索引”的组件名称。更新您的文件index.js

我在 YOURCOMPONENT 路径下插入了另外 2 条路由,只是为了让这个示例看起来更真实,但它是可选的。