iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
1

背景知識

Stack:後進先出 Last-in, first-out(碟盤子)

什麼是 history?history 的功能是什麼?

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 是同一個嗎?

參考資料

history
history API Reference


上一篇
React-Router: match
下一篇
Render, Mount & Re-render in React
系列文
那些我還沒深入理解就開始使用的東西30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言