V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
devwolf
V2EX  ›  React

[react-router-dom] 请教关于 this.props.history.push 里 search 存值的问题

  •  
  •   devwolf ·
    yctjb1 · Nov 21, 2019 · 3889 views
    This topic created in 2360 days ago, the information mentioned may be changed or developed.

    [前置提问] :除了 sessionStorage、localStorage 以及 url 中存储关键字,还有什么法子使 react 数据刷新后仍然存在?

    [本次提问] 目前有这样类型的需要持久化(刷新后还存在)的数据 adminManage:{ tabs_key:"3", comicData:{ id:"000001", comic_Name:"xxx", comic_img:"xxx"//图片外链的完整 url,大概很长 } }

    [测试 1 ] 我试了一下直接 search:JSON.stringify({tabs_key:"3"}), 得到的 this.props.location.search 意外的是{"{tabs_key:"3"}":null} ————于是,想请教为什么这里会出现"键名:null"的情况,当然,情形描述的条件可能有误,可以直接解释什么情况下存 search 的值会变成"键名:null"

    [测试 2 ] import queryString from "query-string"; 我改用了 search:queryString.parse(adminManage),然后结果是可预测的——comicData 这样对象里的对象无法正确存取,便决定 adminManage.comicData = JSON.stringify(adminManage.comicData)再存, 结果也不成,直接报错了。

    [实在不行] 当然,可以直接 adminManage:{ tabs_key:"3", comicId:"000001", } 这样多用 id 调一次接口解决问题。

    我更想在社区请教关于 react-router 里这个奇怪的 search 该怎么用,用法以及场合。

    2 replies    2019-11-21 13:48:49 +08:00
    devwolf
        2
    devwolf  
    OP
       Nov 21, 2019
    @zjm947373 谢了。。。虽然之前也找过官方的,不过这次再看的时候想起来了,之前没出问题的时候是在动态路由里存的 obj,有空我再去试试能不能存两层的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2980 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 15:19 · PVG 23:19 · LAX 08:19 · JFK 11:19
    ♥ Do have faith in what you're doing.