我不是一个开发人员,我有点绝望。我有一个基于symphony/react-native的应用程序。现在我们在应用程序上实现了条纹支付,我的开发人员似乎有点走投无路。
我选择react native的原因是我的移动的和网络应用程序有一个代码库。我试图使用stripe来处理我的应用程序上的付款,但似乎stripe-react-native不运行在网络平台上。
有没有人想到一种方法,使条纹工作在网络上,而不必建立一个单独的React应用程序?
我想使用一个平台条件从react原生模块或stripe.js脚本运行stripe,但我被告知这是不可能的。
如果有人知道我们可以试试,那会很有帮助。
谢谢
2条答案
按热度按时间qpgpyjmq1#
不幸的是,事实就是如此。你需要一个单独的web代码库和一个单独的移动的代码库。ReactNative是移动的,对于web,你有很多选择,就像常规的web开发一样。
你可以选择ReactNative用于移动的,ReactJS用于网络端,它们在某种程度上是相似的,但它们仍然是不同的平台。
ia2d9nvy2#
如果使用
react-native-web
,则可以通过各种方式覆盖不兼容的节点模块。启动/构建RN Web的一种方法是使用
react-app-rewired
,在config-overrides.js
中,您可以声明指向您自己的react-native-stripe
版本的路径。您需要自己实现它,为每个方法编写一个等效的实现,并以某种方式加载Web SDK for Stripe。
这是非常可行的,如果你有经验和一个类似的过程,以嘲笑模块在Jest。
以下是一个示例:
(此处为示例的简化版本)
但是,如果您不需要修改现有的代码库来支持
react-native-web
,我强烈建议您使用Expo开始一个新的项目,它将从一开始就支持Web、iOS和Android。现在可以在Expo中为不兼容的库编写polyfill模块。