在 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
干杯,
里奇
我正在构建一个具有多个屏幕的 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
干杯,
里奇