Bien, aquí está el repositorio: https://github.com/bigolboyyo/phase2final/tree/projectbranch5
Estoy en un campo de entrenamiento y estoy trabajando en una aplicación de chat en vivo. Por alguna razón, aunque el estado se actualiza (supuestamente) cuando POST/Recuperar los datos se está retrasando.
Tengo 2 rutas de chat separadas. Uno que inicia un chat basado en una identificación de hilo de reddit y otro en el que puede ingresar manualmente una identificación de sala para unirse.
En mis registros, el estado de redditRoom se actualiza inmediatamente antes de que ocurra la recuperación, sin embargo, cuando ocurre POST/Fetch, toma un segundo evento (clic en el botón) y envía el estado anterior de redditRoom.
Sepa que esto es un poco extenso, pero incluso cualquier idea o sugerencia en la dirección correcta sería increíble.
Si hay algún otro contexto que pueda proporcionar, házmelo saber, todavía soy un desarrollador nuevo y estoy trabajando para redactar mejores publicaciones. ¡Gracias por adelantado!
App.js const [showChat, setShowChat] = useState(false); const [redditRoom, setRedditRoom] = useState(""); const [redditTitle, setRedditTitle] = useState(""); const [room, setRoom] = useState(""); const [artRef, setArtRef] = useState({}); const [userName, setUserName] = useState(""); const userData = { userName: userName, room: room, redditRoom: redditRoom, }; function postUserDB() { fetch("http://localhost:3004/userData", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(userData), }) .then((response) => response.json()) .then((data) => { console.log("Success:", data); }) .catch((error) => { console.error("Error:", error); }); } RedditPosts.js function handleChatClick() { socket.emit("join_room", article.id); console.log(article.id); setRedditRoom(article.id); setRedditTitle(article.title); setArtRef(article); navigate("/redditchat"); } function handleAndUpdate() { handleChatClick(); postUserDB(); } /redditchat route <Route path="/redditchat" element={ <RedditChat socket={socket} redditRoom={redditRoom} artRef={artRef} userName={userName} /> button <button onClick={handleAndUpdate} style={{ padding: "1rem" }} id="start-chat" > Start Chat </button>