react-natvie 全局 Modal

版本:react-native 0.62.0

就是想建一个全局 Modal,用 Redux 控制显示与隐藏。
Redux控制内容更新。

折腾了一天,试了 react-native-root-siblings 根据官方文档弄了。不知道怎么建全局Modal和API调用。

react-native-root-modal 也是,弄了半天没弄成功。

阅读 3.3k
1 个回答

react-native-root-siblings 这个库文档确实不太友好,如果要在注入的Modal组件中使用Redux store context,按照其源码的思路是将redux的Provider传入setSiblingWrapper方法,作为AppRegistry.setWrapperComponentProvider 中的返回组件的最外层的wrapper,思路很优秀,但是实际使用起来各种踩坑。

按照我个人目前实现的方法,我建议你将全局Modal与状态管理,如Redux或Mobx,分离开来。全局的Modal组件实现 static show(...args) & static hide() 即可。
如果内容或状态有更新,在触发 Modal.show()的时候将最新的内容或状态传入就行。

至于Modal组件,如何注入与根组件平级,使用 AppRegistry.setWrapperComponentProvider 或者AppRegistry.registerComponent这两个API都可以。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题