【问题标题】:Firebase warning when entering chat message [duplicate]输入聊天消息时的Firebase警告[重复]
【发布时间】:2019-06-19 20:36:47
【问题描述】:

我正在运行来自Even Bacon 的react-native 聊天应用程序示例。我可以成功输入我的名字。但是当我输入聊天消息时,我有一个关于firebase的警告,聊天消息没有被接受:

这里是Chat.js:

import React, { Component} from 'react';
import {View, StyleSheet } from 'react-native';
import { GiftedChat } from 'react-native-gifted-chat';
import Fire from '../Fire';

class Chat extends React.Component {
    static navigationOptions = ({ navigation}) => ({
        title: (navigation.state.params || {}).name || 'Chat!',
    });

    state = {
        messages: [],
    };

    componentDidMount() {
        Fire.shared.on(message =>
              this.setState(previousState => ({
                messages: GiftedChat.append(previousState.messages, message),
              }))
        );
    }

    componentWillUnmount() {
      Fire.shared.off();
    }

    get user() {
      // return our name and our UID for GiftedChat to parse
      return {
          name: this.props.navigation.state.params.name,
          _id: Fire.shared.uid,
      };
    }

    render() {
        return (
            <GiftedChat 
              messages={this.state.messages}
              onSend={Fire.shared.send}
              user={this.user}
            /> 
        );
    }
}

const styles = StyleSheet.create({});



export default Chat;

【问题讨论】:

    标签: javascript firebase react-native firebase-realtime-database


    【解决方案1】:

    确保您已经设置了这样的数据库规则

    {
      "rules": {
        ".read": true,
        ".write": true
      }
    }
    

    【讨论】:

    • 虽然这可能/将删除错误消息,但任何此类说明都应始终带有警告,即这些规则为每个人(知道数据库 URL 的人)提供对所有数据的完全读写访问权限。它应该只在开发周期的(非常早期的阶段)使用。
    • @FrankvanPuffelen 完全同意你的看法。
    猜你喜欢
    • 2016-02-25
    • 2017-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多