El componente setConversations no está configurando la variable de conversaciones correctamente, pero genera correctamente en la consola. No tengo idea de por qué no lo está haciendo, se hace de la misma manera en otras partes de esta aplicación, otra cosa para mencionar, las conversaciones indefinidas se emiten antes de que los datos res. se envíen a la consola.
const profile = JSON.parse(localStorage.getItem('profile')) const userId = profile.result._id console.log(userId) const [conversations, setConversations] = useState([]); const [currentChat, setCurrentChat] = useState(null); const [messages, setMessages] = useState([]); const [newMessage, setNewMessage] = useState(""); //const { user } = useContext(AuthContext); const scrollRef= useRef(); useEffect(() => { axios.get(`http://localhost:5000/api/v1/conversations/conversation/?userId=${userId}`) .then(res => { console.log(res.data) setConversations(res.data); }) }, [userId]) console.log(conversations)A veces, incluso después de establecer los valores, lleva tiempo actualizar el componente.
Así que mejor use la siguiente manera mientras muestra los resultados, lo que asegurará que las conversaciones existan y luego se muestren
Dentro del código JSX
<div> { conversations && console.log(conversations) } </div>