React-Router子路径渲染未触发正确的组件

彼得·本格森

我的路线设置如下:

ReactDOM.render((
  <Router>
    <Route path="/" component={App}>
      <IndexRoute component={Homepage} />
      <Route path="games" component={Games}>
        <Route path=":id" component={Game}/>
      </Route>
    </Route>
  </Router>
), document.getElementById('mount-point'))

当我点击#/它会触发组件中render()方法Homepage伟大的。当我点击#/games它会触发组件中render()方法Games伟大的。但!当我点击#/games/1(或其他任何代替1)时,它将渲染该Games组件。不是Game组件!:(

乔尼·布坎南

您的路由配置对我来说似乎还可以。{this.props.children}渲染时包括在内Games吗?

http://jsfiddle.net/8L7fa64w/3/

<meta charset="UTF-8">
<script src="https://fb.me/react-0.14.2.js"></script>
<script src="https://fb.me/react-dom-0.14.2.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-router/1.0.0-rc3/ReactRouter.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.33/browser-polyfill.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.33/browser.min.js"></script>
<div id="mount-point"></div>
<script type="text/babel">void function() { "use strict"

var {Router, Route, IndexRoute, Link} = ReactRouter

var App = ({children}) => <div>
  <h1>App</h1>
  <Link to="/games">Games</Link> | <Link to="/games/42">Game 42</Link>
  {children}
</div>

var Homepage = ({children}) => <div>
  <h2>Homepage</h2>
  {children}
</div>

var Games = ({children}) => <div>
  <h2>Games</h2>
  {children}
</div>

var Game = ({params}) => <div>
  <h3>Game {params.id}</h3>
</div>

ReactDOM.render(<Router>
  <Route path="/" component={App}>
    <IndexRoute component={Homepage} />
    <Route path="games" component={Games}>
      <Route path=":id" component={Game}/>
    </Route>
  </Route>
</Router>, document.getElementById('mount-point'))

}()</script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

React组件渲染两次且未触发useEffect

来自分类Dev

React Router Link未渲染组件,但更改了URL

来自分类Dev

react-router中的嵌套组件未渲染

来自分类Dev

React Router不渲染组件

来自分类Dev

React-Router Switch 组件不渲染具有相同路径的组件

来自分类Dev

React Router未显示组件

来自分类Dev

在React Router中渲染多个组件

来自分类Dev

网址更改但未渲染组件React Router

来自分类Dev

无法使用React Router渲染组件

来自分类Dev

通过 React-router 渲染子组件

来自分类Dev

React Router 组件渲染两次

来自分类Dev

React Router Switch 不渲染特定组件

来自分类Dev

React-router 不渲染组件

来自分类Dev

React Router 不渲染 Route 组件

来自分类Dev

React.js:组件未渲染

来自分类Dev

在未安装的组件上触发React componentDidMount()

来自分类Dev

无法使用React Router和React Bootstrap渲染组件

来自分类Dev

React Navigation Drawer OnPress 未正确触发

来自分类Dev

React Router URL更新,但组件未更新

来自分类Dev

React Rails组件:手动触发重新渲染

来自分类Dev

为什么我的React的组件点击方法在渲染时触发?

来自分类Dev

React Rails组件:手动触发重新渲染

来自分类Dev

React:如何将组件列表的匹配重定向到子路径(/ templates => / templates / list)

来自分类Dev

React Router:如何匹配嵌套路由的不确定数量的子路径?

来自分类Dev

React渲染嵌套组件

来自分类Dev

延迟渲染React组件

来自分类Dev

React组件继续渲染

来自分类Dev

React组件不渲染

来自分类Dev

如何使用react-router渲染嵌套组件