在React Native中使用Firebase会显示计时器警告

时间:2017-06-11 14:57:43

标签: android firebase react-native websocket

我正在使用Firebase和React Native。 Firebase向我显示了一个计时器警告,如屏幕截图所示。

enter image description here

我在React Native troubleshooting指南中阅读了以下注释。

  

React Native为WebSockets实现了一个polyfill。这些polyfills是   初始化为您包含的react-native模块的一部分   你的应用程序通过导入React从'react'。如果你加载   另一个需要WebSockets的模块,比如Firebase,一定要确保   反应原生后加载/需要它:

import React from 'react';
import Firebase from 'firebase';

我尝试在Firebase之前导入React。但是,我仍然不断收到这些计时器警告。该应用程序工作正常。我会定期收到多个警告。任何帮助将不胜感激。

我正在使用最新的React Native,警告来自Android模拟器。

4 个答案:

答案 0 :(得分:4)

要对此进行排序,所有需要做的就是增加变量MAX_TIMER_DURATION_MS的值。以下是步骤:

  1. 转到node_modules / react-native / Libraries / Core / Timer / JSTimers.js

  2. 查找变量MAX_TIMER_DURATION_MS

  3. 将firebase所需的60 * 1000更改为10000 * 1000

  4. 保存更改并重新构建您的应用。

答案 1 :(得分:1)

你也可以通过包装器切换到本机SDK,它通常更高效,因为它本身就是如此,所以没有计时器警告,而且你不仅可以访问auth和数据库模块。

一个这样的包装器是react-native-firebase,它目前支持10个以上的firebase模块:

Supported modules table

免责声明:以上作者。

答案 2 :(得分:0)

将两个变量的值都更改为我的工作。

const FRAME_DURATION = 100000/60;

const MAX_TIMER_DURATION_MS = 60 * 100000;

答案 3 :(得分:0)

它也对我有用。

转到 node_modules/react-native/Libraries/Core/Timer/JSTimers.js

查找变量 MAX_TIMER_DURATION_MS

将 60 * 1000 更改为 10000 * 1000 ,firebase 需要

保存更改并重新构建您的应用。