Javascript React native-基于用户位置的抽屉标签

Javascript React native-基于用户位置的抽屉标签,javascript,reactjs,typescript,react-native,asynchronous,Javascript,Reactjs,Typescript,React Native,Asynchronous,我有一个react原生应用程序,我需要根据用户位置呈现菜单项,但是返回用户位置的函数是一个异步函数,我得到的是一个未定义的函数,因此我的问题是如何根据用户位置设置导航选项的抽屉标签值 static navigationOptions = () => ({ drawerLabel: () => (OptionsDrawer.isOptionsItemAvaliable() ? 'Options' : null) }) private static isOptionsIt

我有一个react原生应用程序,我需要根据用户位置呈现菜单项,但是返回用户位置的函数是一个异步函数,我得到的是一个未定义的函数,因此我的问题是如何根据用户位置设置
导航选项的
抽屉标签

static navigationOptions = () => ({
    drawerLabel: () => (OptionsDrawer.isOptionsItemAvaliable() ? 'Options' : null)
})




private static isOptionsItemAvaliable() {
    navigator.geolocation.getCurrentPosition((result) => this.setUserLocation(result.coords), ()=> {console.log("Failed to load user location")};
    return verifyUserLocation(userLocation);
}

private static setUserLocation(coordinates){
    userLocation = coordinates; //userLocation is a global variable
}

private static verifyUserLocation(coordinates){
//Code to check the user location and returns if it's inside the allowed area
}

尝试用自定义组件替换标题。在组件中,可以将位置保持为状态,并在位置更改时进行更新。大概是这样的:

class HomeScreen extends React.Component {
  static navigationOptions = {
    headerTitle: <LogoTitle />,
  };
}
类主屏幕扩展React.Component{
静态导航选项={
标题:,
};
}

我想要一个不需要新组件的更简单的解决方案。我不知道这怎么可能。在我看来,组件是从navigator配置中提取逻辑的简单而干净的方法。