【问题标题】:React Router not rendering child componentsReact Router 不渲染子组件
【发布时间】:2016-11-05 17:41:24
【问题描述】:

新的反应。使用 React 路由器渲染子组件时出现问题。我的 App 组件渲染良好。如果我将父组件中的 App 换成 Child1 或 Child2,它们也可以工作。但是我在反应路由器中的嵌套组件似乎没有渲染。我错过了什么?

var App = React.createClass({
  render: function() {
    return <h1 className="red">
      dfdf
      {this.props.children}
    </h1>
  }
});

var Child1 = React.createClass({
  render: function() {
    return (
      <h1>I am a Child</h1>
    )
  }
});

var Child2 = React.createClass({
  render: function() {
    return (
      <h1>I am the other Child</h1>
    )
  }
});

var routes = (
  <Router history={browserHistory}>
    <Route path="/" component={App}>
      <Route path="1" component={Child1} />
      <Route path="2" component={Child2} />
    </Route>
  </Router>
)

ReactDOM.render(routes, document.querySelector('.container'));

更新好的,我可以让它与 hashHistory 一起使用,但 browserHistory 不起作用。为什么是这样?

【问题讨论】:

  • 你用快递吗?
  • 正常情况下。目前我只是在学习,我正在运行一个 gulp 实时重新加载服务器,但不使用节点或 express。所以我的 url 看起来像 localhost:8000/#/2?_k=9pug17 browserHistory 是否需要使用 express 或类似的东西来提供页面?
  • 有道理,谢谢!

标签: reactjs react-router


【解决方案1】:

参考我的问题评论中给出的答案,使用 browserHistory 时,您必须使用 express 或任何其他正在使用的服务器从 * 路由提供文件。从开发服务器或未配置此类路由的服务器本地提供文件时,您必须使用 hashHistory。

【讨论】:

    猜你喜欢
    • 2018-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多