linxiaoziruo
V2EX  ›  问与答

搞不懂“单向数据流”

  •  
  •   linxiaoziruo · Aug 28, 2018 · 1466 views
    This topic created in 2818 days ago, the information mentioned may be changed or developed.

    react 的虚拟树深度优先对比我清楚,局部更新渲染我也清楚,MVVM 模式我也清楚。但就是搞不懂什么叫“单向数据流”?什么叫“视图的状态”?

    morningtzh
        1
    morningtzh  
       Aug 28, 2018   ❤️ 1
    emmm 故事是这样的。
    从前有个节点叫 A,他有两个儿子 AA 和 AB。

    在 react 环境下 A 能把东西(值或者函数)通过 props 传给 AA 或 AB,但是 AA 无法将值传回给他爸爸。这就叫单向传输。同样道理,AA 也无法将自己的状态告诉他的小姐姐 AB。

    那他爸爸自身有很多状态的,比如有个 state 叫『菜烧好了』,A 把 state 『菜烧好了』 通过 props 传给 AA 和 AB,当 A 状态改变时,『菜烧好了』从 false 变为了 true,AA 和 AB 也能知道了。但是 AA 和 AB 没有途径将『吃饱了』这个状态传回给他爸爸。

    当然有解决办法是 A 传一个函数『 func 儿砸说吃好了()』传给 AA 和 AB,AA 吃好了之后就调用『 func 儿砸说吃好了()』函数告诉他爸爸,他爸爸才能知道。但这样呢 就不算『数据流』了。

    ps 上面『菜烧好了』就是 A 的状态。
    linxiaoziruo
        2
    linxiaoziruo  
    OP
       Aug 28, 2018
    thanks!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1150 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:05 · PVG 02:05 · LAX 11:05 · JFK 14:05
    ♥ Do have faith in what you're doing.