问题在于我不知道是否实现了相应的本机组件。 如果我需要一个不存在的组件,如下所示:
requireNativeComponent('InexistentComponent', null);
我收到此错误:
Invariant Violation: Native component for "InexistentComponent" does not exist
使用try/catch
包装代码似乎没有任何效果:
try {
const native = requireNativeComponent('InexistentComponent', null);
return native;
} catch (_) {
return null;
}
那么有一种方法可以在用requireNativeComponent
要求它之前找出某个组件是否确实存在吗?
答案 0 :(得分:1)
您可以使用NativeModules.UIManager
检查该组件的键列表中是否存在您的组件。
例如:
import { requireNativeComponent, NativeModules } from "react-native";
let CustomComponent = null;
if ("CustomComponent" in NativeModules.UIManager) {
CustomComponent = requireNativeComponent("CustomComponent")
}