繁体   English   中英

用户进入屏幕或离开屏幕时如何采取行动?

[英]how to take an action when user enters a screen or navigates away from it?

这是我的应用程序容器:

const AppNavigator = createBottomTabNavigator({
    createUser: CreateUser,
    showUsers: ShowUsers,
    editUser: EditUser
});

createUser我创建了新用户并将其保存在数据库中,在componentDidMount生命周期上的showUsers ,我从数据库中获取了数据并列出了它们。 但是由于屏幕在我们离开屏幕时不会卸载,因此第一次调用componentDidMount生命周期,因此每次获取预览数据时,都必须重新加载应用程序才能查看结果。 我该如何解决?

React导航具有生命周期api,可以完全按照您的描述进行操作:

有关更多信息,请检查文档: https : //reactnavigation.org/docs/en/navigation-lifecycle.html

该API的一部分是withNavigationFocus HOC,它提供了isFocused道具,该道具指示屏幕是否可见。

例:

import { withNavigationFocus } from 'react-navigation';

class SomeScreen extends React.Component {

  componentDidUpdate(prevProps) {
    if (this.props.isFocused && !prevProps.isFocused) {
      // Screen has now come into focus
    }
  }

}

export default withNavigationFocus(SomeScreen)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM