反应路由器v4" /"确切的路径不适用于cordova

时间:2017-05-13 17:44:57

标签: android cordova reactjs react-router intel-xdk

尝试在带有cordova插件的IntelXDK中执行此操作,但它不会显示任何内容

const app = document.getElementById('app');

const Index = () => (
    <Router>
      <div>
        <Switch>
            <Route exact path="/" component={Layout}/>
            <Route path="/about" component={First}/>
            <Route path="/topics" component={Second}/>
        </Switch>
      </div>
    </Router>

);

const Layout = () => (
    <div>
        <h1>layout</h1>
        <ul>
            <li><Link to="/">Home</Link></li>
            <li><Link to="/about">About</Link></li>
            <li><Link to="/topics">Topics</Link></li>
        </ul>
    </div>
);

const First = () => (
    <div>
        <h1>first</h1>
    </div>
);

const Second = () => (
    <div>
        <h1>second</h1>
    </div>
);


ReactDOM.render(<Index/>, app);

当我删除exact字词并且不使用<Switch>标记时,它会有效,但它会渲染2个组件(布局和第一个或布局和第二个)。

我想只渲染1个组件,有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试删除确切的信息,并将/ route放在3条路线的末尾。如果它不是其他的那么它将被渲染。但如果它是别的东西也会呈现,所以我不确定你是否想要避免这种情况。

祝你好运