V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
devwolf
V2EX  ›  React

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

  •  
  •   devwolf ·
    yctjb1 · 2019-11-21 10:11:40 +08:00 · 3302 次点击
    这是一个创建于 1840 天前的主题,其中的信息可能已经有所发展或是发生改变。

    [前置提问] :除了 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 条回复    2019-11-21 13:48:49 +08:00
    zjm947373
        1
    zjm947373  
       2019-11-21 11:03:24 +08:00
    devwolf
        2
    devwolf  
    OP
       2019-11-21 13:48:49 +08:00
    @zjm947373 谢了。。。虽然之前也找过官方的,不过这次再看的时候想起来了,之前没出问题的时候是在动态路由里存的 obj,有空我再去试试能不能存两层的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5717 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 93ms · UTC 01:38 · PVG 09:38 · LAX 17:38 · JFK 20:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.