读写数据到Firebase实时数据库并做出反应

时间:2019-11-18 23:23:20

标签: reactjs firebase firebase-realtime-database react-hooks

嗨,我具有以下功能:

const mount = useRef(state);

const writeUserData = async () => {
        await Firebase.database()
          .ref("/database")
          .set(state);
        console.log("DATA SAVED");
      };

const getUserData = () => {
    let ref = Firebase.database().ref("/database");
    const state = snapshot => {
      if (snapshot.val()) setState(snapshot.val());
    };
    ref.on("value", state);
    return () => {
      ref.off("value", state);
    };
  };

  useEffect(() => {
    getUserData();
    console.log("Get Developers");
    getSettingsData();
    // eslint-disable-next-line
  }, []);

  useEffect(() => {
    if (mount.current === state) {
    } else {
      writeUserData();
      console.log("Write Developers");
    }
    // eslint-disable-next-line
  }, [state]);

有许多使用OnUpdate函数的示例。但是我正在尝试使用react hooks>尽管上面的代码有效。我觉得这可能是最有效的方法,或者想检查它是否是正确的方法。可以告诉我。

0 个答案:

没有答案