javascript - React-Router:使用客户端路由的服务器请求过程?

标签 javascript reactjs react-router

我试图了解客户端路由的工作原理。但我仍然很难想象它是如何工作的。

假设我有一些像这样的代码(例如):

<Router>
    <Route path="/" component={Home} />
    <Route path="/users" component={Users} />
    <Route path="/widgets" component={Widgets} />
</Router>

流程如何?

当我请求index.html时,组件的代码是否全部从网络服务器下载?那么一切都通过客户端的 JavaScript 进行管理,不再需要进一步的请求?

假设调用了 URL“example.com/#/users”。结果,侧面的某些部分与用户组件的内容进行了交换?

或者是在需要时请求组件?可以这么说,延迟加载。

最佳答案

流程: 您描述的路由导入所有处理路由的组件,因此它们在生成的包中都可用。路由器匹配路径并相应地渲染这些组件(在 / 上渲染 Home,在 /users 上渲染 Users 等等)。它们不是延迟加载的,因为它们已经包含在路由定义中。

要延迟加载组件,您必须使用 dynamic routing

关于javascript - React-Router:使用客户端路由的服务器请求过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39483116/

相关文章:

javascript - 删除主干路由中的 "#"

javascript - 使用 window.resize() 动态更改 css

Javascript - 如何检查特定 'index' 处函数中的参数是否丢失?

reactjs - 如何从三层以下的子组件中调度操作?

javascript - 使用 JavaScript 按钮运行图像

javascript - 如何在react中点击div后禁用点击事件?

reactjs - 我们如何关闭office React Fabric组件的错误消息栏?

unit-testing - Enzyme - 如何访问和设置&lt;input&gt;值?

javascript - React Router 链接到新选项卡

javascript - useEffect 是否会在初始组件安装时加载依赖项?