专注前端研究二十年 2021-11-18 11:28 采纳率: 33.3%
浏览 53
已结题

关于路由跳转中key属性的问题

a组件和b组件是兄弟组件,通过路由进行相互切换。当b组件进入a组件,b组件和a组件的生命周期钩子函数依次执行的是

img


请问怎么利用key值让b组件先销毁,a组件再创建

  • 写回答

1条回答 默认 最新

  • 在下月亮有何贵干 优质创作者: 前端开发技术领域 2021-11-18 13:46
    关注

    没什么意义啊,用key解决组件生命周期业务场景一般只有一个,举个例子

    a的父组件更新了自己的部分内容,与a有关但是你代码中并没有涉及到,导致a并没有更新。
    于是你只好加一个key给a,可以把a的父组件更新的内容作为key值,就是强制子组件更新。

    兄弟组件你想使用这种场景的话,首先你得想办法排除路由的影响,我也没有具体研究过路由是否存在影响。

    可能就得让它们共同的父组件管理一个状态,然后它们切换时去改变父组件管理的状态,而这俩兄弟的key就是状态里的值。

    这样也许可以,但是我估计很不优雅,应该有别的替代方法最好不要考虑用key。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月19日
  • 创建了问题 11月18日