Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript BrowserRouter是否比HashRouter使用更多的数据/带宽?_Javascript_Reactjs_Typescript_Rest_React Router - Fatal编程技术网

Javascript BrowserRouter是否比HashRouter使用更多的数据/带宽?

Javascript BrowserRouter是否比HashRouter使用更多的数据/带宽?,javascript,reactjs,typescript,rest,react-router,Javascript,Reactjs,Typescript,Rest,React Router,因此,我是一名iOS开发人员,最近一直在学习一些React。我现在正在学习路由。目前,我将在Firebase托管免费层托管我的web应用程序,因此它使用的带宽量是一个真正的问题 我需要决定是使用浏览器路由器还是哈希路由器。据我所知,BrowserRouter更好,但作为交换,你放弃了对旧浏览器的支持,我不在乎这一点 但是,我已经读到,BrowserRouter在URL每次更改时都会发出GET请求,而HashRouter则不会 这是否意味着使用浏览器路由器将更快地耗尽我的免费Firebase主机带

因此,我是一名iOS开发人员,最近一直在学习一些React。我现在正在学习路由。目前,我将在Firebase托管免费层托管我的web应用程序,因此它使用的带宽量是一个真正的问题

我需要决定是使用
浏览器路由器
还是
哈希路由器
。据我所知,
BrowserRouter
更好,但作为交换,你放弃了对旧浏览器的支持,我不在乎这一点

但是,我已经读到,
BrowserRouter
在URL每次更改时都会发出GET请求,而
HashRouter
则不会

这是否意味着使用
浏览器路由器将更快地耗尽我的免费Firebase主机带宽?

我的应用程序将从Cloud Firestore获取信息以填充其UI。这些来自
BrowserRouter
的GET请求是否让我浪费了数据库中的免费操作?这也是目前关注的问题

我正在使用React v16.13.1、React路由器dom v5.2.0、React v3.0.1的CoreUI和Typescript v3.7.5,如果这对您有用的话。提前谢谢

然而,我读到BrowserRouter在URL每次更改时都会发出GET请求,而HashRouter则不会

嗨!这不是真的
BrowserRouter
禁用HTML中生成的
标记的默认行为,只要您使用
链接
组件即可

试试这个:

import React from "react";
import ReactDOM from 'react-dom'
import {BrowserRouter, Link, Route} from "react-router-dom";

const PageOne = () => {
    return (
        <div>
            <h1>Page One</h1>
            <Link to={"/pagetwo"}>Page 2</Link>
        </div>
    )
}

const PageTwo = () => {
    return (
        <div>
            <h1>Page Two</h1>
            <Link to={"/"}> Page 1</Link>
        </div>
    )
}

const App = () => {
    return (
        <BrowserRouter>
            <Route path={"/"} exact component={PageOne}/>
            <Route path={"/pagetwo"} component={PageTwo}/>
        </BrowserRouter>
    )
}

ReactDOM.render(
    <App/>,
    document.querySelector("#root")
)
从“React”导入React;
从“react dom”导入react dom
从“react router dom”导入{BrowserRouter,Link,Route};
常量第一页=()=>{
返回(
第一页
第2页
)
}
常量第二页=()=>{
返回(
第二页
第1页
)
}
常量应用=()=>{
返回(
)
}
ReactDOM.render(
,
document.querySelector(“根”)
)

检查您的网络流量(通常是F12->网络),并观察发生了什么

谢谢你的澄清。我忘了标记答案,很抱歉我是新来的,所以哈哈哈。