Javascript React已安装React路由器,但无法获取要呈现的页面

Javascript React已安装React路由器,但无法获取要呈现的页面,javascript,reactjs,react-router,Javascript,Reactjs,React Router,我已经安装了react路由器,我正在尝试获取要呈现的主页面 这是当前的index.js import React,{Component,PropTypes}来自'React'; 从“react Router”导入{Router,Route}; 从“./components/Layout”导入布局; 从“./components/NewsComponent”导入NewsComponent; const app=document.getElementById('app') ReactDOM.rend

我已经安装了react路由器,我正在尝试获取要呈现的主页面

这是当前的index.js

import React,{Component,PropTypes}来自'React';
从“react Router”导入{Router,Route};
从“./components/Layout”导入布局;
从“./components/NewsComponent”导入NewsComponent;
const app=document.getElementById('app')
ReactDOM.render(
,app);
布局组件包含页面的布局

我错过了什么


我做错了吗?

尝试显式导入ReactDOM(从“react dom”导入ReactDOM);导入React时不会自动包含它

尝试显式导入ReactDOM(从“react dom”导入ReactDOM);导入React时不会自动包含它

有些参考资料你不知道,我不知道你是因为这个例子而遗漏了它们,还是真的遗漏了它们。试试这个:

从“React”导入React;
从“react dom”导入react dom//您的示例中缺少
导入{
路由器,
路线,,
browserHistory//在您的示例中缺失
}来自“反应路由器”;
从“./components/Layout”导入布局;
ReactDOM.render(
,
document.getElementById('root'))
)
然后,您甚至可以在组件中浏览历史记录:

import { hashHistory } from 'react-router'

//Dont forget to bind this in the constructor
yourMethod (someParams) {
    hashHistory.push(someUrl)
}

有一些参考资料你遗漏了,我不知道你是否只是为了这个例子而遗漏了它们,或者你真的遗漏了它们。试试这个:

从“React”导入React;
从“react dom”导入react dom//您的示例中缺少
导入{
路由器,
路线,,
browserHistory//在您的示例中缺失
}来自“反应路由器”;
从“./components/Layout”导入布局;
ReactDOM.render(
,
document.getElementById('root'))
)
然后,您甚至可以在组件中浏览历史记录:

import { hashHistory } from 'react-router'

//Dont forget to bind this in the constructor
yourMethod (someParams) {
    hashHistory.push(someUrl)
}

除了修改代码[missing imports,etc.]之外,您还需要特别提到您正在使用的react路由器的版本。假设您正在使用NPM

尝试:

移除反应路由器

然后:

npm安装--保存-router@3.0.0

默认情况下安装的React router V4是React router的完全重新构想,与为React router以前版本编写的代码不兼容


如果您有一段时间没有使用React,我建议您使用CreateReact应用程序。从这一点开始,将非常简单:


除了修改代码[缺少导入等],您还需要特别提到您正在使用的react路由器的版本。假设您正在使用NPM

尝试:

移除反应路由器

然后:

npm安装--保存-router@3.0.0

默认情况下安装的React router V4是React router的完全重新构想,与为React router以前版本编写的代码不兼容


如果您有一段时间没有使用React,我建议您使用CreateReact应用程序。从这一点开始,将非常简单:


您可能缺少
import
语句中的
hashHistory
,这会导致页面无法正确加载。我不知道您是否只是为了这个示例而忽略了它,或者您确实缺少了它(与ReactDOM相同),您可能缺少
import
语句中的
hashHistory
,这导致页面无法正确加载。我不知道你是否只是为了这个例子而忽略了它,或者你真的忽略了它(与ReactDOM相同)我在hashHistory中得到了一个错误-TypeError:_this.props.history未定义尝试用
browserHistory
替换
hashHistory
。您是否尝试了我建议的代码,或者您的代码中出现了错误?此外,如果您不介意共享您的
布局
组件,请。。。我怀疑有什么地方不对劲,在我看来,你使用的
this.props.history
@JakeBrown777你有机会看看我说的话吗?让我知道。Thank我在hashHistory中遇到一个错误-TypeError:_this.props.history未定义,无法将
hashHistory
替换为
browserHistory
。您是否尝试了我建议的代码,或者您的代码中出现了错误?此外,如果您不介意共享您的
布局
组件,请。。。我怀疑有什么地方不对劲,在我看来,你使用的
this.props.history
@JakeBrown777你有机会看看我说的话吗?让我知道。谢谢