Estoy desarrollando un proyecto personal y me encontré con un problema. No pude resolver esto con mi limitado conocimiento. Así que estoy pidiendo su ayuda ahora.
a continuación es mi estado redux:
user userData:{ _id(pin):"614141995694f8ab7357ae0d" isAdmin(pin):false isAuth(pin):true email(pin):"wtf3@naver.com" name(pin):"dsakljf" role(pin):0}y este es un useEffect que usaría axios:
useEffect(() => { axios.get('/api/blog/getBlogs') .then(response => { if(response.data.success){ setBlogs(response.data.blogs) } else{ alert("Couldn't get post list") } }) })Quiero dar la identificación del usuario a axios para poder darle la página personal del usuario más tarde, como a continuación:
const user = useSelector(state=>state.user) useEffect(() => { const userId={userId:user.userData._id} console.log(user.userData._id) axios.get('/api/blog/getBlogs',userId) .then(response => { if(response.data.success){ setBlogs(response.data.blogs) } else{ alert("Couldn't get post list") } }) })Sin embargo, recibí un error en lugar de éxito y la consola dijo: 'no se puede leer la propiedad '_id' de undefined'
Pensé que esto podría ser un problema porque declaré el ID de usuario dentro de useEffect, así que intenté traer el ID de usuario incluso antes de que redux se cargara. para eso, declaré userId fuera de useEffect. Parece que funciona en el primer momento, sin embargo, devolvió el mismo mensaje de error tan pronto como actualicé la página. ¿podría decirme cómo puedo traer el estado redux en useEffect y usarlo correctamente? Gracias por leer, su ayuda será apreciada. Si necesita más detalles de mi código, no dude en preguntar, por favor.