StripeProvider.initialise 未定义
2021-05-26
957
我正在尝试使用 stripe-react-native(与 expo 一起使用并使用 android)库,但是我立即使用 StripeProvider 时出现此错误(我按照文档操作):
TypeError: null is not an object (evaluating '_NativeStripeSdk["default"].initialise')
This error is located at:
in StripeProvider (at App.js:35)
in EnsureSingleNavigator (at BaseNavigationContainer.tsx:409)
in ForwardRef(BaseNavigationContainer) (at NavigationContainer.tsx:91)
in ThemeProvider (at NavigationContainer.tsx:90)
...
这是我使用它的地方:
...
import { StripeProvider } from '@stripe/stripe-react-native'
//pass the ref to your navigation container
import { PersistGate } from 'redux-persist/integration/react'
import { store, persistor } from './store'
import { Provider } from 'react-redux'
import { AppTab } from './Navigation'
export default function App() {
return (
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<NavigationContainer>
<StripeProvider
publishableKey="pk_live_L4zEu37Als6Z..."
>
<AppTab />
</StripeProvider>
</NavigationContainer>
</PersistGate>
</Provider>
)
}
我的 package.json:
...
"expo": "~41.0.1",
"expo-status-bar": "~1.0.4",
"react": "16.13.1",
"react-dom": "16.13.1",
"react-native": "https://github.com/expo/react-native/archive/sdk-41.0.0.tar.gz",
"react-native-web": "~0.13.12",
...
"@stripe/stripe-react-native": "^0.1.2",
....
我没有找到有关此问题的任何信息,有人可以帮我看看我做错了什么吗?谢谢!
2个回答
您需要更新 Expo 客户端,对 stripe-react-native 的支持是最近才添加的: https://github.com/stripe/stripe-react-native/issues/3#issuecomment-846225534
Paul Asjes
2021-05-27
由于我的声誉不足以发表评论,因此我不得不将此作为答案发布。扩展 Paul 的 解决方案,查看 Expo SDK 41 发布博客文章的“升级您的应用”部分也很有帮助: https://blog.expo.io/expo-sdk-41-12cc5232f2ef#e10c 。
需要记住的一些关键事项是,您还需要升级您正在使用的设备上的 Expo 应用。如果它们是实体的,则使用它们各自的应用商店,如果不是,则可以删除应用程序并重新创建它们,或者运行
expo client:install:ios
和
expo client:install:android
。最后一个对我有帮助的是在升级后进行干净运行:
expo start -c
。
turtles4dayz
2021-06-12