使用具有 useEffect 的 usereducer

时间:2021-02-05 20:54:14

标签: javascript reactjs react-native react-hooks

对于在下面的代码中使用 useEffect 更新的数据,我想使用 useReducer 而不是 useState 因为这会导致太多的重新渲染它们用于自我更新的条件

Serdes

下面是我尝试使用的条件

const [complete, setComplete] = useState("");
const [userProfile, setUserProfile] = useState("");
const [displayName, setDisplayName] = useState("");
const [displayPicture, setDisplayPicture] = useState("");

useEffect(() => {
  if (user.uid) {
    const onChildAdd = database()
      .ref("/User/" + user.uid)
      .on("value", (snapshot) => {
        setComplete(snapshot.val().Complete);
        setUserProfile(snapshot.val().User);
        setDisplayName(snapshot.val().displayName);
        setDisplayPicture(snapshot.val().photoURL);
        // ...
      });

    return () =>
      database()
        .ref("/User/" + user.uid)
        .off("value", onChildAdd);
  }
}, []);

0 个答案:

没有答案
相关问题