Stack:後進先出 Last-in, first-out(碟盤子)
history 是一個 object,同時也是 React-Router 的主要相依來源之一,用於記錄 route 中 path 的變化
history 是一個 mutable 的 object 包含以下 property & method
{
length: 2, // history stack 的數量
// Listening
listen: ƒ listen(listener), // 監聽 locaiton 更改的事件
action: "POP", // 現在的行為包含 PUSH, REPLACE, POP 三種
location: { // 現在的 location
pathname: "/",
search: "",
hash: "",
state: undefined
},
// Navigation
block: ƒ block(prompt), // 防止更改 history stack
push: ƒ push(path, state), // 增加一個新 path 的到 history stack
replace: ƒ replace(path, state) // 取代現在所在的 path
go: ƒ go(n),// 移動 history stack 中距離現在所在的 path 的第 n 個位置
goBack: ƒ goBack(), // 等同於 go(-1)
goForward: ƒ goForward(), // 等同於 go(1)
// Creating Hrefs
createHref: ƒ createHref(location), // 建立 link
}
history 中的 location object 和 location object 是同一個嗎?