在 React Native 中全局实例化 Ably Connection 的最佳方式

Best Way To Globally Instantiate Ably Connection in React Native

我正在构建一个具有多个屏幕的 React Native 游戏。我试图实例化 Ably 一次并在整个应用程序中使用它,而不必在每个屏幕上调用 new Ably('api-key'),因为这会创建多个新连接并且无法保留单个 connectionId。有没有一种方法来构建它以便我可以定义

const client = new Ably('api-key')

App.js 中使用一次并在其他屏幕中使用它?通过 React Navigation 道具或使用 Context 将其作为道具传递?关于此的文档很少,因为他们的大多数文档仅在一页上使用它。

Redux 将无法运行。您可以创建一个 Ably 客户端并使用 props 将其传递给其他组件,或者只使用 React 上下文使其对整个应用程序可用。使用 redux 存储 Ably 客户端会导致错误,因为 Ably 客户端不可序列化。

有关详细信息,请参阅 https://reactjs.org/docs/context.html

这里有一些例子:

https://github.com/ably-labs/react-hooks https://ably.com/blog/ably-react-hooks-npm-package

干杯,

里奇