0

我正在尝试创建我的第一个 React Native 应用程序,所以我从 expo 开始,但我遇到了 componentDidMount 问题。

据我所知,允许提示用户允许通知、位置等;如果之前没有询问过用户,使用 componentDidMount 将在屏幕开始处提示用户。但是,我想通过按下按钮来提示用户:

按下按钮调用 _getLocation 的代码

这是 _getLocation: _getLocation 代码

我可以用 _getNotification 做同样的事情,只需在 TouchableOpacity 内的 onPress 上调用它。

但这会影响未来的通知吗?是否需要在渲染中初始化 componentDidMount 以便我将来发送通知?这样做对未来有什么影响吗?

很难找到这方面的信息,感谢您的任何回复和建议。

4

1 回答 1

0

没有!componentDidMount只是一种反应生命周期方法,因此不会影响收集权限。

如果您使用按钮请求权限,则该页面将已安装。如果您想在屏幕加载时自动请求权限,那么使用componentDidMount是正确的方法。

Expo 还提供了检查用户是否已授予位置和通知权限的方法。当您请求通知权限时,请务必保存您返回的 expo 通知令牌,如果您没有成功保存它,expo 允许您再次异步获取它。

于 2020-06-11T01:08:44.153 回答