JustFS / mern-project

82 stars 51 forks source link

useEffect, useState et uid #2

Open HadesFR opened 3 years ago

HadesFR commented 3 years ago

Salut,

Je pense qu'il y à un petit soucis dans le App.js.

Au rechargement de la page le state getUser de Redux est vide, j'ai l'impression qu'il intercepte pas asser vite le uid de ce fait il retourne l'erreur TypeError: Cannot read property 'username' of undefined.

const App = () => {
  const [uid, setUid] = useState(null);
  const dispatch = useDispatch();

  useEffect(() => {
    const fetchToken = async () => {
      await axios({
        method: "get",
        url: `${process.env.REACT_APP_API_URL}jwtid`,
        withCredentials: true,
      })
        .then((res) => {
          setUid(res.data);
        })
        .catch((err) => console.log("No token"));
    };
    fetchToken();

    if (uid) dispatch(getUser(uid));
  }, [uid, dispatch]);

  return (
    <UidContext.Provider value={uid}>
      <Routes />
    </UidContext.Provider>
  );
};

Si quelqu'un a une solution je suis preneur, j'ai chercher j'ai vue qu'il existé des package pour persist redux mais j'aimerais faire sans si vraiment je n'ai pas le choix j'opterais pour cette méthode :/

Merci à vous !