【发布时间】:2017-03-19 11:35:46
【问题描述】:
大约四天前,我用react-router 创建了一个项目。我按照this guide 正常安装了所有东西。然后我通过官方 Github 自述文件中推荐的方法安装了react-router。出于某种奇怪的原因,它不会渲染我的任何组件,直到我将路由移动到我的根目录中的 index.js 文件,它开始工作。之前,路线位于我的app.jsx 文件中。
今天,我决定为自己创建一个小型作品集网站,因为我觉得我正在了解 React 的基础知识。我像以前一样安装了所有东西,分别带有react-router 和react / react-dom 的3.0.0 和15.3.2 版本。自从我几天前的上一个项目以来,这些版本没有改变。然而,react-router 似乎由于某种原因不再工作,在我的控制台中没有显示任何错误,我现在花了几个小时在谷歌和 Stack Overflow 上搜索解决方案。我的代码目前非常简单,我的index.js 文件如下所示,没有使用react-router:
import React from 'react'
import {render} from 'react-dom'
class App extends React.Component {
render() {
return <div>{this.props.children}</div>;
}
}
const Home = () =>
<p>Hello</p>;
render(
<App><Home /></App>,
document.getElementById('main'))
我知道我应该转向更多的函数式编程,但是出于测试原因,我暂时将 App 写成一个类。现在,为什么上面的代码可以正常工作,但下面的代码 sn -p 却没有任何结果?
import React from 'react'
import {render} from 'react-dom'
import {Router, Route, IndexRoute, hashHistory} from 'react-router'
class App extends React.Component {
render() {
return <div>{this.props.children}</div>;
}
}
const Home = () =>
<p>Hello</p>;
render(
(<Router history="hashHistory">
<Route path="/" component={App}>
<IndexRoute component={Home} />
</Route>
</Router>),
document.getElementById('main'))
我真的不认为我以任何方式误解了react-router。正如我在一些教程中看到的那样,我已经尝试将路线包装在() 中,但这并没有什么不同——显然。
我的代码有问题吗?或者它可能是别的东西?如果我可以为你们提供更多信息,请告诉我。如果对你们有帮助的话,我可以拍一些屏幕截图之类的。
【问题讨论】:
标签: javascript html reactjs react-router react-jsx