PubNubReact 无法工作,因为它已被弃用

问题描述 投票:0回答:1

我正在尝试在 React Native 中使用 PubNub 来实现实时位置跟踪,但由于我引用的代码已经有 4 年历史了,PubNubReact 已经不存在了。我不知道如何使用当前可用的版本。我为此使用了 React Native 地图和 google 地图 api。

以下是参考代码:

import React from 'react';
import { StyleSheet, View, Platform, Dimensions, SafeAreaView } from 'react-native';
import MapView, {Marker, AnimatedRegion} from 'react-native-maps';
import PubNubReact from 'pubnub-react'

const { width, height } = Dimensions.get("window");

const ASPECT_RATIO = width / height;
const LATITUDE = 37.78825;
const LONGITUDE = -122.4324;
const LATITUDE_DELTA = 0.0922;
const LONGITUDE_DELTA = LATITUDE_DELTA * ASPECT_RATIO;

export default class App extends React.Component{
  constructor(props){
    super(props);
    this.state = {
      latitude: LATITUDE,
      longitude: LONGITUDE,
      coordinate: new AnimatedRegion({
        latitude: LATITUDE,
        longitude: LONGITUDE,
        latitudeDelta: 0,
        longitudeDelta: 0
      })
    }
    this.pubnub = new PubNubReact({
      publishKey: "pubKey",
      subscribeKey: "subKey",
    });
    this.pubnub.init(this);
  }
 ...
react-native pubnub
1个回答
0
投票

来自 PubNub DevRel 团队的 Oliver。我们的 React Native SDK 一段时间前已被弃用,但我建议在您的移动应用程序中使用我们的 React SDK。它本质上是我们的 JavaScript SDK 的包装器,用于在您的应用程序中使用 JS 代码。

将 PubNub JavaScript SDK 和 React 框架包添加到项目后

cd <project folder name here>
npm install --save pubnub pubnub-react

您需要包含 PubNub 库并使用 uuid(或唯一用户标识符)配置 PubNub 对象。那么你应该可以走了!

import PubNub from 'pubnub';
import { PubNubProvider, usePubNub } from 'pubnub-react';
...
const pubnub = new PubNub({
      publishKey: 'myPublishKey',
      subscribeKey: 'mySubscribeKey',
      uuid: 'myUniqueUUID'
    });
...

考虑到这些调整,请遵循一些示例代码,不仅初始化一些示例代码,还了解如何添加事件侦听器以捕获 PubNub 平台上的事件。

© www.soinside.com 2019 - 2024. All rights reserved.