前言
多了一個新的,「Comparison」
主要是覺得很多實踐,常常會透過不同方式的比較才知道什麼要使用它
而會有標題這個疑問,單純是因為和上一間公司用不一樣的方法
我覺得這也是 software engineer 到不同公司好處(?
差異
他們最大的差異就是對 server 來說實際的 path 是什麼
舉例有一個網站的網址是 hello.com
假設有一個 about 頁面
使用 HashRouter
會是這樣:hello.com/#/about
使用 BrowserRouter
會是這樣:hello.com/about
在做頁面的 request 時,server 不會解析 # 之後的內容
對他來講都是 hello.com 的 request
而 BrowserRouter 對 server 來說會拿到完整的 path
結論
兩者差異為何
- 因為要 BrowserRouter 會使 server 拿到不同的 path,可能會多「一點點」負擔
- 也因為有多解析 path,BrowserRouter 更有利於 SEO
- BrowserRouter 的 url 長得相對比較好看
以上是據我所知最大的三個差異點