我似乎无法弄清楚为什么我无法访问我的页面。我可以转到我的 HomePage
但不能转到我的 AboutPage
。当我查看开发人员工具时,在 localhost:3000
中,我看到带有< script type =“text / javascript”src =“/ bundle.js”>< /脚本> 代码>。但是,在
localhost:3000 / about
中,我没有看到< script>
!缺少捆绑
App.js


 从'react'导入React;&# xA;从'./common/Header'中导入标题;
从'./common/Footer'导入页脚;
从'react-router-dom'导入{Switch,Route};&#xA ;从'./home/HomePage'中导入HomePage;
从'./about/AboutPage';

类中导入AboutPage扩展React.Component {
构造函数(props,context){
超级(道具,背景);
 this.state = {};
 }

 render(){
 return(
< div>
< Header />
< Switch>
< Route exact path =“/”component = {HomePage} />& #xA;<路径路径=“/关于”component = {AboutPage} />
< / Switch>
<页脚/>
< / div>&# xA;);
 }
}

导出默认App;



 AboutPage.js
&# xA;
 import来自'react'的反应;

类AboutPage扩展了React.Component {
构造函数(props,context){
超级(道具,背景);
 this.state = {};
 }

 render(){
返回(
< div>
关于pagesdfsdf
< / div>
);
 }
}

导出默认值AboutPage;



 index.js
&# xA;
 import来自'react'的反应;
从'react-dom'导入{render};
从'react-router-dom'导入{BrowserRouter} ;
从'react-redux'导入{Provider};
从'./store/configureStore'中导入configureStore;
从'./components/App';
导入App 
 const store = configureStore();

 render(
< Provider store = {store}>
< BrowserRouter>
< App />
< / BrowserRouter>
< / Provider>,
 document.getElementById('app')
);

预>

答案 0 :(得分:1)
<BrowserRouter>
需要更多设置 - 你有服务器吗?您可能希望切换到<HashRouter>
,因为它更容易启动和运行。至少,它可以解决您现在遇到的问题并使您的代码正常工作。
此处参考差异:https://medium.com/@pshrmn/a-simple-react-router-v4-tutorial-7f23ff27adf
答案 1 :(得分:1)
我将假设您正在为您的应用使用webpack。 因此,为了使BrowserRouter正常工作,您必须在webpack.config.js中提供以下配置
在输出部分
output: {
filename: 'app.bundle.js',
path: path.resolve(__dirname, 'dist'),
publicPath : '/' // set the public path to root
}
在服务器部分
devServer: {
hot : true,
contentBase: path.join(__dirname, "dist"),
historyApiFallback : true, // set the historyApiFallback to true
compress: true,
port: 8080
}