javascript - 当屏幕出现时调用哪个生命周期事件?

标签 javascript react-native lifecycle react-navigation

假设我有两个屏幕:

  • 屏幕 A
  • 屏幕 B

我最初登陆的是屏幕A。当我单击 Button 时,我导航到 Screen B。当我按下 后退按钮 时,我再次导航到 屏幕 A

当我导航到上述场景中提到的屏幕 A 时,我想调用 Action 创建器。

我只想知道每次显示屏幕时将调用哪个生命周期事件。

难道没有像componentWillAppear()这样的事件吗?

注意:我正在使用 react-nativereact-navigation 进行导航。

最佳答案

这现在可以通过他们的听众通过简单的 react 导航来完成:

在您的组件 A 中:

componentDidMount = () => {
  this._componentFocused();

  this._sub = this.props.navigation.addListener(
    'didFocus',
    this._componentFocused
  );
}

componentWillUnmount() {
  this._sub.remove();
}

_componentFocused = () => {
  this.setState({dataToShow});
}

React Navigation docs - Lifecycle

关于javascript - 当屏幕出现时调用哪个生命周期事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47627663/

相关文章:

android - android中的静态变量生命周期

android - onSaveInstanceState 使我的应用程序崩溃

javascript - 在 ES6 synthax 中,如何使用变量键进行命名导出?

javascript - 这个 JavaScript 对象解构是如何工作的?

javascript - 关闭 React 应用程序中所有输入的自动完成功能

javascript - 从 react native 退出上传照片时出现未处理的错误

javascript - js中如何通过return function()传递函数变量

javascript - React 访问 self props 而不扩展类/函数

java - spring 如何管理原型(prototype) bean 的完整生命周期?

javascript - 如何在 React Native 的 <Text> JSX 标签中渲染字符串中的变量