react-native - 进行本机平台特定函数调用的最佳方法?
问题描述
一些内置的 React-Native 函数,如setAccessibilityFocus仅适用于特定平台。在所有平台上调用这些函数的最佳方法是什么?
例如,最初我认为调用setAccessibilityFocus
只是一个 noop,但我错了,而是你遇到了一个is not a function
错误。我可以这样包装
if (Platform.OS === "ios") {
AccessibilityInfo.setAccessibilityFocus()
}
或者我可以做一些类似的事情
if (AccessibilityInfo.setAccessibilityFocus !== undefined) {
AccessibilityInfo.setAccessibilityFocus()
}
但是必须有比在代码中乱扔操作系统检查更好的方法。
解决方案
您可以尝试使用try catch
方法。
try {
AccessibilityInfo.setAccessibilityFocus()
}
catch(err) {
//if error eg: undefined goes here call another function
}
参考:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/try...catch
推荐阅读
- php - MYSLI_QUERY 返回 false 但 MYSQLI_ERROR 从 5.6 更新 php 7.2 后未显示错误
- java - 如何实现一个持续活跃的循环来检查变化(布尔值)?
- reactjs - reactjs 没有从 index.css 中获取样式
- azure-aks - 具有虚拟节点和自动缩放功能的 Azure Kubernetes - 这可能吗?
- java - 返回方程 x1 + x2 + x3 = num 的解数
- ms-access-2013 - 如何将字段数据打印到 A4 纸的特定区域?
- css - 引导滑块文本覆盖正在禁用导航链接
- xpath - 如何使用 importXML 从网站将数据导入我的 Google 表格
- php - 有没有办法使用存储在数据库中的信息来确定用户在登录时被发送到哪个网页?
- wordpress - 如何让用户评论仅在登录时显示