일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Redux
- 혼공머신
- 타입스크립트
- clipboardapi
- js
- error맛집
- 백준 #코딩테스트
- 초기값 설정하기
- 알고리즘
- 혼자공부하는머신러닝
- CSS
- reactmemo
- axios
- 에러해결방안
- 딥러닝
- 백준
- styledcomonents
- 머신러닝
- 유니티 #게임개발
- REACT
- 구조분해할당
- TS
- 혼공챌린지
- 백준 #코딩테스트 #코테 #알고리즘
- 혼자공부하는머신러닝딥러닝
- useEffect
- 리액트
- 혼공단
- typeScript
- 코딩테스트
- Today
- Total
목록useEffect (2)
좌충우돌 개발자의 길
문제점 - 이전 글에서 말했듯이 또다른 복병이 생겨났다. 바로 초기화면에서 댓글이 아예 보이지 않는 것이다. 원인을 파악했더니 useState에 초기값을 아무것도 설정하지 않아서 발생한 것이었다. 내가 생각한 해결방안 - 그래서 이전에 댓글 불러오는 컴포넌트를 따로 만들었었는데 그 컴포넌트를 재활용해서 초기 댓글 불러오기 위한 용도로 사용했다. const commentsInit = useAxios(`/api/comment/${userId}`); //이렇게 먼저 db에 저장된 초기 댓글을 가져와 commentInit에 담고 const [comments, setComments] = useState(commentsInit); //그 commentInit을 초기값으로 설정하자고 생각했다. 문제점 발생 - 하지만..
- 구현 목표 : 댓글을 쓰면 새로고침없이 댓글창이 바로 나올 수 있도록 바꾸는 기능 구현하기 (카톡처럼!) - 내가 생각한 방법 : useEffect를 써서 comment가 새로 들어올 때마다 업데이트할수 있도록 짜자 import { useEffect, useState } from "react"; import axios from 'axios'; export default function useAxios(url) { const [data, setData] = useState([]); useEffect(() => { axios.get(url) .then(res => { return res.data.body; }) .then(data => { setData(data); }) .catch(error => { ..