在 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 (将#修改为@)