Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Page需要一个componentWillHide方法 #2273

Closed
349989153 opened this issue Feb 27, 2019 · 9 comments
Closed

Page需要一个componentWillHide方法 #2273

349989153 opened this issue Feb 27, 2019 · 9 comments
Assignees

Comments

@349989153
Copy link

349989153 commented Feb 27, 2019

这不是一个bug,更像是建议或请求帮助

Page能不能有一个componentWillHide方法,当该Page display:none的时候触发。

现在在h5下,从Page A导航到Page B的时候,Page A的componentWillUnmount是不会触发的,因为Page A并没有销毁,只是display:none。

请问如何处理这种情况?

@taro-bot
Copy link

taro-bot bot commented Feb 27, 2019

欢迎提交 Issue~

如果你提交的是 bug 报告,请务必遵循 Issue 模板的规范,尽量用简洁的语言描述你的问题,最好能提供一个稳定简单的复现。🙏🙏🙏

如果你的信息提供过于模糊或不足,或者已经其他 issue 已经存在相关内容,你的 issue 有可能会被关闭。

Good luck and happy coding~

@349989153
Copy link
Author

在Taro.Component上发现了componentDidHide生命周期,但尝试调了似乎没起作用。

@luckyadam
Copy link
Member

componentDidHide 不会触发么

@349989153
Copy link
Author

sorry回复迟了,h5下不会触发, 小程序端没试。taro版本1.2.13。

复现过程:制造一个页面跳转流程:page A => page B => page C
并且在page B 中写:

componentWillUnmount() {
    alert('Unmount')
 }

  componentDidHide() {
    alert('hide')
  }

当page B跳到(navigateTo)page C时,都不显示。

当page B跳回(navigateBack)page A时,只显示"Unmount"。

结论:componentDidHide在h5上无效。

@luckyadam
Copy link
Member

当 C 跳回到 B 时,才会触发 B 的 componentDidHide

@349989153
Copy link
Author

@luckyadam 请看我上面的描述,h5上componentDidHide都不触发。

@yuche yuche added the H5 label Apr 8, 2019
@taro-bot taro-bot bot assigned Littly Apr 8, 2019
@taro-bot
Copy link

taro-bot bot commented Apr 8, 2019

CC @Littly

@Littly
Copy link
Contributor

Littly commented Apr 16, 2019

sorry回复迟了,h5下不会触发, 小程序端没试。taro版本1.2.13。

复现过程:制造一个页面跳转流程:page A => page B => page C
并且在page B 中写:

componentWillUnmount() {
    alert('Unmount')
 }

  componentDidHide() {
    alert('hide')
  }

当page B跳到(navigateTo)page C时,都不显示。

当page B跳回(navigateBack)page A时,只显示"Unmount"。

结论:componentDidHide在h5上无效。

你的页面B是不是高阶组件?

@349989153
Copy link
Author

@Littly 最多用@Inject@observer修饰了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants