使用状态const [showDatumLine, setShowDatumLine] = useState(false)控制是否展示详情 :::warning 这里进行了路由跳转,要保存之前弹出层的状态,必须得把这个数据保存到全局中
    保存全局数据可以用 redux 或者 model
    umi 是提倡使用 models 的,models 是对 redux 的一种简化
    此处场景可能用 sessionstorage 会比较合适,sessionstorage 是暂存一些简单交互少的数据,
    而 model 暂存的是一些复杂的数据,比如 json 数组和一些请求之后拿到的一些数据, ::: 解决方式:
    将状态存储在全局状态中,需要使用调用此状态
    3 种具体实现:
    1 sessionStorage / localStorage
    2 umi 的 useModel 全局的状态管理
    3 redux 全局状态管理

    图片.png
    需求:
    1、点击截图 3 的返回按钮时,需要跳转到 截图2 的页面
    2、点击浏览器左侧转到上一页,需要跳转到 截图2 的页面(刚开始时忽略了)
    3、点击浏览器左侧转到下一页,从列表页进入需要跳转到 截图1 的页面

    浏览器左侧按钮的使用参考

    1. window.addEventListener(
    2. 'popstate',
    3. function (e) {
    4. sessionStorage.setItem('showDatumLine', 'true')
    5. },
    6. false
    7. )
    8. // function pushHistory() {
    9. // const state = {
    10. // title: 'title',
    11. // url: '#',
    12. // }
    13. // window.history.pushState(state, 'title', '#')
    14. // }
    15. // window.removeEventListener(
    16. // 'popstate',
    17. // function (e) {
    18. // sessionStorage.removeItem('showDatumLine')
    19. // },
    20. // false
    21. // )