• [React Native + Firebase] React Native: Real time database with Firebase -- setup & CRUD


    Install:

    npm i --save firebase // v3.2.1

    Config Firebase:

    First we need to require Firebase:

    import firebase from 'firebase';

    Then in the component constructor, we need to init Firebase:

        constructor(props){
            super(props);
            // Initialize Firebase
            var config = {
                apiKey: "<api_key>",
                authDomain: "<authDomain>",
                databaseURL: "<databaseURL>",
                storageBucket: "<storageBucket>",
            };
            firebase.initializeApp(config);
        }

    The config you can easily get from the your Firebase App page.

    Create new node: set()

        writeUserData(userId, name, email, imageUrl) {
            firebase.database().ref('users/' + userId).set({
                username: name,
                email: email,
                profile_picture : imageUrl
            });
        }
    
    
    // calling
        this.writeUserData(1, "Zhentian Wan", 'answer881215@gmail.com', null);

    Then one node will be created in the "users" node, uid is "1".

    Create new Child node: push()

        appendOneMoreUser(name, email, imageUrl){
            let ref = firebase.database().ref().child('users').push({
                username: name,
                email: email
            });
            this.updateMe("Yoona", "yoona.only@gmail.com", ref.key);
        }
    
    // calling
    this.appendOneMoreUser("Yuri", 'yuri.only@gmail.com', null);

    So under "users" node, we want to append one new node, the uid will be generated randomly.

    The "ref" object contains "key" prop which ref to the uid in the database.

    Update one node: update()

        updateMe(name, email, key){
            const update = {
                username: name,
                email
            };
            let ref = firebase.database().ref('users/' + key).update(update)
                .then((res)=>{
                    console.log("Data has been updated ");
                });
        }
    
    
    // calling:
    const ref = firsebase.database().ref().child('users').push(user);
    this.updateMe("Yoona", "yoona.only@gmail.com", ref.key);

    update() and set() methods both return Promise. So you can chaining .then() onto it.

    Delete node: remove()

        deleteMe(){
            firebase.database().ref('users/1').remove();
        }

    Delete the uid = 1 user.

  • 相关阅读:
    MQ怎么解决消息堆积的问题
    怎么解决Mysql的超大分页
    微信小程序开发入门 —— 认识微信小程序
    C++中strcpy()函数和strcpy_s()函数的使用及注意事项
    UML免费建模工具
    UML 各种图总结精华
    TIFF 文件格式
    LIBTIFF+VS15+WIN10编译
    LIBTIFF VS2013下编译LIBTIFF4.0.9
    Qt 多线程之QtConcurrent::map(处理序列容器)
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5735188.html
Copyright © 2020-2023  润新知