javascript - react : Firebase Listener Not Working

标签 javascript reactjs firebase firebase-realtime-database

我正在 YouTube 上观看此截屏视频,但我似乎无法让我的数据库与我的 React 应用程序进行对话。

componentDidMount() 函数正在运行,但 .on() 监听器函数似乎没有触发。

我的代码如下所示:

index.js

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import './index.css';
import * as firebase from 'firebase';

var config = {
  // config from firebase db lives here
};

firebase.initializeApp(config);

ReactDOM.render(
  <App />,
  document.getElementById('root')
);

App.js

import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import * as firebase from 'firebase';

class App extends Component {

  constructor() {
    super();
    this.state = {
      speed: 10
    }
  }

  componentDidMount() {
    const rootRef = firebase.database().ref().child('react');
    const speedRef = rootRef.child('speed');

    speedRef.on('value', snap => {
      this.setState({
        speed: snap.val()
      });
    });
  }

  render() {
    return (
      <div className="App">
        <h1>{this.state.speed}</h1>
      </div>
    );
  }
}

export default App;

FWIW,我的数据库看起来像这样:

enter image description here

我在控制台中得到零错误,并且完全没有想法。我做错了什么。

感谢任何帮助。提前致谢!

最佳答案

解决了!这个问题与我的 Firebase READ 规则有关。如果遇到类似问题,请检查数据库中的规则。

关于javascript - react : Firebase Listener Not Working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39322104/

相关文章:

javascript - Koa 和 Twitter - "Thunking"不起作用

javascript - CSS/JS : Animate a vertical line on scroll

javascript - 在 Yii 中将 js 变量传递给模态

reactjs - React 响应式设计

javascript - 如何清除以这种特定方式设置的间隔

javascript - Firebase 'child_removed' 事件监听器不工作

javascript - react 组件中的状态不会呈现

javascript - JavaScript 数组是否有类似于 forEach 的可链接方法?

javascript - 如何模拟 React Component 的功能并挂载组件?

android - Quickblox FCM 通知不起作用