微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 React Native + Expo 中从 App.js 调用一个函数到子屏幕可能是 mobx 解决方案

如何解决在 React Native + Expo 中从 App.js 调用一个函数到子屏幕可能是 mobx 解决方案

我有一个应用程序在 Expo (SDK 40) 从 SDK 36 迁移到 Bare worflow,因为我使用的是 InAppPurchases (https://docs.expo.io/versions/latest/sdk/in-app-purchases/) 库。对于导航,我使用的是 react-navigation。

在 SDK36 中,用于应用内购买的库实现起来非常简单。只是一个购买的功能,带有一个回调来完成交易功能并启用用户刚刚购买的东西。

在 SDK40 中,InApp Purchases 库稍微复杂一些。我必须定义一个在全局范围内定义的 setPurchaseListener(对我来说在 App.js 中定义的作品),因此,在进行购买时的屏幕中,我们这样做:

  1. PurchaseScreen:我们调用purchaseItemAsync(sku)。如果完成,将调用 setPurchaseListener
  2. App.js:定义了 setPurchaseListener(responseCode,results,errorCode),所以如果购买完成,这将被调用,并且所有要解锁的东西都在此处声明(以前在 SDK36 中,这是在 PurchaseScreen 上)/我尝试定义在 purchaseItemAsync 中也有功能,但不起作用。
  3. App.js -> PurchaseScreen:我需要调用一个在 PurchaseScreen 中定义的函数来解锁用户购买的东西,但是来自 App.js

我想我可以使用 Mobx 解决,我为两者创建了一个共享商店,但是,如何在 PurchaseScreen 中执行该功能

我虽然使用 mobx 因为更容易实现为 redux,但也许不需要用 mobx 解决,也许我可以只使用 javascript。

非常感谢您的帮助

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。