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

请教 react hook 有没有方法主手动控制子组件更新(排除其他状态更新组件)

  •  1
     
  •   kssss · 2022-02-19 22:32:57 +08:00 · 2172 次点击
    这是一个创建于 1014 天前的主题,其中的信息可能已经有所发展或是发生改变。
    9 条回复    2022-02-26 14:54:32 +08:00
    kssss
        1
    kssss  
    OP
       2022-02-19 22:44:08 +08:00
    请教 react hook 有没有方法手动控制子组件更新(排除其他状态更新组件)
    Hanggi
        2
    Hanggi  
       2022-02-19 23:30:43 +08:00
    不管你手动还是被动,控件只有在状态变化时才会更新。

    如果状态没变,你手动更新什么呢?

    如果状态变了,更新了,那你手动更新那个状态就行。
    w3cay
        3
    w3cay  
       2022-02-20 00:02:43 +08:00
    kssss
        4
    kssss  
    OP
       2022-02-20 11:58:05 +08:00
    @Hanggi 可能是我表述的不清楚,我的意思是只有在特定状态改变时才更新某个子组件
    w88975
        5
    w88975  
       2022-02-20 13:25:47 +08:00
    把组件用 useMemo 包装起来,特定情况(一般指的是 state 的 change ),依赖传入这个 state 就行了
    ragnaroks
        6
    ragnaroks  
       2022-02-20 16:43:22 +08:00
    useEventBus 相关 hook ,你这个需求本质上是订阅消息
    kssss
        7
    kssss  
    OP
       2022-02-20 21:43:11 +08:00
    @w88975 搞了半天还是用 useMemo 解决了
    86co
        8
    86co  
       2022-02-23 13:40:11 +08:00
    kssss
        9
    kssss  
    OP
       2022-02-26 14:54:32 +08:00
    @86co 不是,有个组件的状态会被一些定时任务改的数据状态改变刷新,我想不被其他状态影响
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2728 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 02:10 · PVG 10:10 · LAX 18:10 · JFK 21:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.