【发布时间】:2019-03-30 17:25:45
【问题描述】:
我正在尝试创建一个多页反应应用程序。 react-router 是正确的方法吗?
由于只有一个名为 index.HTML 的 HTML 文件从 app.js 的组件中提取呈现的 jsx 代码。即使我们可以使用 react-route 获得多页面的感觉;从技术上讲,React 创建的不只是一页应用程序吗?
import React from 'react';
import { BrowerRoute as Router, Route } from 'react-router-dom';
import App from './components/About';
import Home from './components/Home';
import Contact from './components/News';
import './App.css'
class App extends Component {
render() {
return (
<Router>
<div>
<Route exact path='/' component={Home} />
<Route path='/about' component={About} />
<Route path='/news' component={News} />
<div>
</Router>
);
}
}
export default App;
这是否意味着所有页面都必须在显示特定页面之前渲染和加载?还是我错了?
有没有更好的办法?
【问题讨论】:
-
react-router 和 react 足够聪明,不会加载不需要的东西。通常你的打包器会生成多个 Javascript 块来优化页面加载。唯一将被渲染的组件将是与当前路径匹配的组件。基于您的路由设置的每条路径实际上都是一个单独的页面,在发出请求时会加载该页面。您将永远只有一个索引文件,但我真的不明白问题出在哪里。
标签: javascript reactjs react-router