在 Android 应用中使用 React Native 组件而不创建新的 Activity
Use react native components in Android app without creating a new Activity
我正在考虑跨移动平台(iOS 和 Android)使用 react-native 组件。我见过的将 react-native 组件添加到 Android 应用程序的唯一方法是创建一个扩展 ReactActivity
.
的 activity
是否有任何方法 adding/using 以较低的粒度级别响应本机组件,例如 View
?
没有必要扩展 ReactActivity
class。但是:如果您不这样做,您的 activity 必须做某些 ReactActivity
本来会为您做的事情。特别是,您必须将一些生命周期事件转发到 ReactInstanceManager
:
- 从
onPause
,转发到reactInstanceManager.onHostPause
;
- 从
onResume
,转发到reactInstanceManager.onHostResume
;
- 从
onDestroy
,转发到 reactInstanceManager.onHostDestroy
,然后卸载您的 React 应用程序。
...等等。有关详细信息,请参阅 ReactActivity
and (in particular) ReactActivityDelegate
的源代码(它完成了大部分繁重的工作)。
(没关系 ReactFragmentActivity
,它已被弃用。)
我正在考虑跨移动平台(iOS 和 Android)使用 react-native 组件。我见过的将 react-native 组件添加到 Android 应用程序的唯一方法是创建一个扩展 ReactActivity
.
是否有任何方法 adding/using 以较低的粒度级别响应本机组件,例如 View
?
没有必要扩展 ReactActivity
class。但是:如果您不这样做,您的 activity 必须做某些 ReactActivity
本来会为您做的事情。特别是,您必须将一些生命周期事件转发到 ReactInstanceManager
:
- 从
onPause
,转发到reactInstanceManager.onHostPause
; - 从
onResume
,转发到reactInstanceManager.onHostResume
; - 从
onDestroy
,转发到reactInstanceManager.onHostDestroy
,然后卸载您的 React 应用程序。
...等等。有关详细信息,请参阅 ReactActivity
and (in particular) ReactActivityDelegate
的源代码(它完成了大部分繁重的工作)。
(没关系 ReactFragmentActivity
,它已被弃用。)