如何在React Native中监听服务器端事件?

时间:2019-06-18 17:50:43

标签: react-native expo server-sent-events

我正在我的本机应用程序上设置服务器发送的事件(使用expo托管流)。但这不起作用

为此,我正在使用此库https://github.com/jordanbyron/react-native-event-source

//.... imports here
  getTodayMissions() {
    ...
    const options = { headers: { Authorization: `Bearer ${token}` } };
    const eventsurl = `${BASE_URL}/server-events/`;
    const eventSource = new RNEventSource(eventsurl, options);
    const url = `missionstodayapp?userId=${user.id}`;


    console.log('start the watch', eventsurl, url);
    this.eventSource.addEventListener(url, (data) => {
      console.log('started the watch', data);
    });
  }

问题是我的日志无法打印任何内容。我希望每10秒在回调中记录一些数据。

1 个答案:

答案 0 :(得分:1)

RNEventSource适用于expo应用程序,我正在正确地使用它。也许您的问题出在您的$ {BASE_URL}中。如果您使用的是android studio模拟器,则应使用10.0.0.2而不是localhost(127.0.0.1)作为基本URL

为时已晚,但也许有一天能对某人有所帮助。

我将Symfony php与Mercure Bundle作为后端,并将React用于我的Web视图,并将React-native / expo用于我的移动版本。