这是我的应用容器:
const AppNavigator = createBottomTabNavigator({
createUser: CreateUser,
showUsers: ShowUsers,
editUser: EditUser
});
在createUser
中,我创建了新用户并将其保存在数据库中,在showUsers
生命周期的componentDidMount
中,我从数据库中获取了数据并列出了它们。但是由于屏幕在我们离开屏幕时不会卸载,因此componentDidMount
生命周期只是第一次调用,因此每次获得预览数据时,都必须重新加载应用程序才能查看结果。
我该如何解决?
答案 0 :(得分:0)
反应导航具有生命周期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)