니가가라하와이
130
2022-05-14 17:52:26
2
93

react json


안녕하세요.. 선배님들


제가 react랑 spring boot랑 연동해서 데이터를 가져오는 걸 하고 있는데 잘 안되서 하나만 여쭤볼께요!



    const {messages, setMessages} = useState([]);

    const roomId = useLocation().state.roomId;
    const memberId = useLocation().state.memberId;

    const getRoomInfo = async () => {
        const res = await (await axiosGet("http://localhost:8080/chat/in?roomId="+roomId+"&memberId="+memberId)).data;
        console.log("통신데이터", res.data);

        const data1 = res.data.readMessageList;
        console.log("data", data1);

        setMessages(data1);

        console.log("message", messages);
    };

    useEffect(() => {
        getRoomInfo();
    },[]);

이렇게 하니깐

이렇게 데이터는 불러와지는데 

 setMessages(data1);

여기서 

ChatRoom.js:27 Uncaught (in promise) TypeError: setMessages is not a function

    at getRoomInfo (ChatRoom.js:27:1)

이런 오류가 뜨더라구요..


res.data 안에 있는 readMessageList 를 setMessage로 하니깐 오류가 뜨는거 같은데 왜 뜨는지 모르겠습니다ㅠㅠ

0
  • 답변 2

  • assign
    632
    2022-05-14 18:04:09 작성 2022-05-14 18:05:22 수정됨

    Usestate 옆에 선언부가 잘못되었습니다 객체가 아니고 배열로 선언해야합니다 

    {messages,setmessages} =>[messages,setmessages]

    오류코드를 잘읽어보면 setmessages 가 함수가 아니라고 합니다 따라서 usestate부분이 잘못되었음을 알수 있고 이를 고려하면 쉽게 디버깅할수 있습니다 

    오류코드를 상세히 읽어보시면 좋을듯 합니다 

  • 니가가라하와이
    130
    2022-05-14 18:10:20

    아...감사합니다ㅠㅠ

  • 로그인을 하시면 답변을 등록할 수 있습니다.