react-native-root-siblings 是什么作用?感觉用他包括router 或者view也没什么作用?

react-native-root-siblings 是什么作用?感觉用他包括router 或者view也没什么作用?

import {RootSiblingParent} from 'react-native-root-siblings';
<RootSiblingParent>

<Router />

</RootSiblingParent>

感觉也没什么用?网上说是在model alert之类用

当你想用自定义的全局全屏的Modal的时候就有用了。在React中有 Portal 可以实现,很多开源框架如 Ant design 的Modal也是这样实现的。但是RN没有DOM节点的概念,而且根组件是在 registerComponent 中注入的,只会注册这一次作为应用的根视图。
因此 react-native-root-siblings 的作者想了一个办法,创建一个容器同时将你自定义的Modal以及根组件同时以同层级的方式放入容器中,并通过 setWrapperComponentProvider 方法告诉RN,使用该容器代替项目中的根组件(App.js)。
这样开发者就可以在任意位置触发全局的Modal了。
有兴趣可以看下源码:

react-native-root-siblings 关键注入代码:
https://github.com/magicismig...

image.png

RN框架源码:node_modules\react-native\Libraries\ReactNative\AppContainer.js
image.png

希望可以解答你的问题。