首页 > 解决方案 > 改变父母保留孩子

问题描述

*注意:我正在使用 React Hooks。

我正在尝试制作一个可以在 A/B 两种功能之间切换的组件。这两个功能都具有相同的孩子。我遇到的困难是在功能之间切换时,我只看到孩子的初始状态。意思是,如果我在功能 A 中更改了孩子的任何内容并切换到功能 B,那么我看到的只是孩子的初始状态。我正在尝试使子状态得到更新并在两个功能之间看起来相同。

           HolderHook
           /        \
           A        B
            \      /
              Child

我想要达到的目标:

Toggle=>false
HolderHook
    |_ChildRef = useRef(<Child/>) <=== {name: }
    |_Parent A
      |_ ChildRef{name: Potato} <=== after change
Toggle=>true
HolderHook
    |_ChildRef = useRef(<Child/>) <==={name: potato} <== after Parent A changes
    |_Parent B
      |_ ChildRef{name: Potato} <=== since it is a reference, it should be this.

我得到了什么:

Toggle=>false
HolderHook
    |_ChildRef = useRef(<Child/>) <=== {name: }
    |_Parent A
      |_ ChildRef{name: Potato} <=== after change
Toggle=>true
HolderHook
    |_ChildRef = useRef(<Child/>)
    |_Parent B
      |_ ChildRef{name: } <===initial state of Child 

标签: reactjs

解决方案


推荐阅读