npm 官網連接
這是用來控制上一頁、下一頁的功能
※createBrowserHistory
<script src="./js/history_4.7.2.js"></script> <script> const history = History.createBrowserHistory(); function push(path) { history.push(path); return false; } function goBack() { history.goBack(); } function goForword() { history.goForward(); } function replace(path) { history.replace(path) } function go(n) { console.log(n); history.go(n); } history.listen(path => { console.log('path=', path); }) </script> <a onclick="return push('/reactPractice/historyPractice.htm#aaa')">超連結加入</a> <button onClick="push('/reactPractice/historyPractice.htm#bbb')">按鈕加入</button> <button onClick="goBack()">上一頁</button> <button onClick="goForword()">下一頁</button> <input type="number" onBlur="go(this.value)" />第?頁 <button onClick="replace('/reactPractice/historyPractice.htm#ccc')">取代</button>
※ aaa -> aaa -> aaa -> bbb -> bbb -> bbb,從左到右執行後,按上一頁、下一頁會有對應的效果
※push 就是從左到右一個一個排進去的
※假設按第五個 bbb 後,按取代鈕,那第五個會變成 ccc,然後上一頁、下一頁依此類推
※go 方法可以傳負數,就是上幾頁的意思,如果上一頁或下一頁沒有,就不執行
※createHashHistory
<script src="./js/history_4.7.2.js"></script> const history = History.createHashHistory(); function push(path) { history.push(path); return false; } function goBack() { history.goBack(); } function goForword() { history.goForward(); } function replace(path) { history.replace(path) } function go(n) { console.log(n); history.go(n); } history.listen(path => { console.log('path=', path); }) </script> <a onclick="return push('/aaa')">超連結加入</a> <button onClick="push('/bbb')">按鈕加入</button> <button onClick="goBack()">上一頁</button> <button onClick="goForword()">下一頁</button> <input type="number" onBlur="go(this.value)" />第?頁 <button onClick="replace('/ccc')">取代</button>
※aaa -> aaa -> aaa -> bbb -> bbb -> bbb,使用 createHashHistory 後,必需將連續相同的看成一個,所以要看成 aaa -> bbb,所以按上一頁會直接變成 aaa
※又如果是 aaa -> aaa -> bbb -> bbb -> aaa -> bbb,那就看成 aaa -> bbb -> aaa -> bbb
沒有留言:
張貼留言