进行本机平台特定功能调用的最佳方法?

时间:2018-07-26 22:09:58

标签: react-native cross-platform

某些内置的React-Native函数(例如setAccessibilityFocus)仅在特定平台上运行。在所有平台上都可以调用这些函数的最佳方法是什么?

例如,起初我以为打电话给setAccessibilityFocus只是一个小问题,但是我错了,相反,您遇到了is not a function错误。我可以这样包裹它

if (Platform.OS === "ios") {
    AccessibilityInfo.setAccessibilityFocus()
}

或者我可以按照以下方式做点事情

if (AccessibilityInfo.setAccessibilityFocus !== undefined) {
    AccessibilityInfo.setAccessibilityFocus()
}

但是必须有比通过OS检查乱扔代码更好的方法。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用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