← 문제 목록
초급 React 30P

useEffect cleanup 누락

채팅방을 전환할 때 이전 방의 메시지도 계속 수신됩니다. 버그를 찾으세요:
JSX
function ChatRoom({ roomId }) {
  const [messages, setMessages] = useState([]);

  useEffect(() => {
    const socket = connectToRoom(roomId);
    socket.on('message', (msg) => {
      setMessages(prev => [...prev, msg]);
    });
  }, [roomId]);

  return (
    <div>
      {messages.map((msg, i) => <p key={i}>{msg}</p>)}
    </div>
  );
}

답변

로그인 후 제출하기
0명 풀이 · 정답률 0%