daiwenzh5
V2EX  ›  Vue.js

vuex 更新多级数据,如何使用比较好?

  •  1
     
  •   daiwenzh5 · May 7, 2020 · 3299 views
    This topic created in 2219 days ago, the information mentioned may be changed or developed.

    比如说一个评论功能,可以在文章的评论中进行评论,即主评论中包含子评论,

    • 文章
      • 评论
        • 子评论

    这样三级的数据,甚至千层饼,是否要将文章列表放置在 vuex 中,

    • 1:若不放在 vuex 中,新增评论等其他操作,数据如何直接同步渲染外层的视图;
    • 2:若放在 vuex 中,更新或新增一个子评论,怎么设计比较好?传数组索引吗?一层层传递?
    • 3:vuex 中放置文章列表,更新数据是替换,还是直接追加?

    想了解一波解决方案,权衡一下,大家不管从哪个角度切入,都说说自己的看法啊。

    8 replies    2020-05-11 19:27:03 +08:00
    optional
        1
    optional  
       May 7, 2020 via iPhone
    把 mutation 方法一直往下传。把更新操作或者 diff 放事件里一直往上拋。
    不管怎么做,最后解决方案本质上都是类似于 vuex 的。
    ccraohng
        2
    ccraohng  
       May 7, 2020 via Android
    平级放,渲染前转为树性结构
    huijiewei
        3
    huijiewei  
       May 7, 2020
    vuex 只放全局的

    其他的用组件通讯
    tikazyq
        4
    tikazyq  
       May 7, 2020
    1. 你这种多级结构,最好用 vuex ;
    2. 直接在 vuex 里用 mutations 操作就可以了,不用考虑复杂了;
    3. 增删改查,push/splice,用好了就没什么难的了

    总体感觉楼主的基础不是很牢哟,还需要多学习一下
    guolaopi
        5
    guolaopi  
       May 7, 2020
    建议可以参考下文件树递归那种方式。
    doommm
        6
    doommm  
       May 7, 2020 via Android
    normalize,就是把结构拍平, redux 的文档里有提到,可以去看看
    daiwenzh5
        8
    daiwenzh5  
    OP
       May 11, 2020
    @doommm 最近没时间搞这个, 粗看了一下,好像是这玩意儿,被你说的点子上去了,感谢👍👍👍
    @tikazyq 直接用我也会啊,就是写出来丑陋无比的一坨,不过我确实是野生的前端(搞后端的),想了解的就是这个规范的设计结构,我觉得东西实现可能有很多,但是符合规范易于拓展才是好的代码。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5434 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 06:42 · PVG 14:42 · LAX 23:42 · JFK 02:42
    ♥ Do have faith in what you're doing.