|
|
@ -11,3 +11,23 @@ |
|
|
|
|
|
|
|
以上便是上节课的主要要点,接下来,我们开始这节课的内容 |
|
|
|
|
|
|
|
## `BrowserRouter`与`HashRouter`的区别 |
|
|
|
|
|
|
|
1. 底层原理不同 |
|
|
|
- `BrowserRouter`用的是`H5`的`history API`,不兼容`IE9`及以下版本 |
|
|
|
- `HashRouter`用得是`URL hash`值 |
|
|
|
2. `url`表现形式不同 |
|
|
|
- `BrowserRouter`中没有`#` |
|
|
|
- `HashRouter`中有`#`为分隔,`#`后面的都是`hash`值 |
|
|
|
3. 刷新后`state`参数影响不同 |
|
|
|
- `BrowserRouter`刷新后没有任何影响,因为`state`存在`history`中 |
|
|
|
- `HashRouter`刷新后就会丢失`state`参数 |
|
|
|
4. `HashRouter`可以用于解决一些路径错误相关的问题 |
|
|
|
|
|
|
|
## 总结 |
|
|
|
|
|
|
|
- `BrowserRouter`与`HashRouter`的底层原理不同 |
|
|
|
- `BrowserRouter`与`HashRouter`的`url`表现形式不同 |
|
|
|
- `BrowserRouter`与`HashRouter`刷新后`state`参数影响不同 |
|
|
|
- `HashRouter`可以用于解决一些路径错误相关的问题 |
|
|
|
|
|
|
|