๐ | WEB DEV/React - Experience3 [React] TypeError: destroy is not a function ์์ธ๊ณผ ํด๊ฒฐ๋ฒ ์์ธ์ฐ์ ํด๋น ์๋ฌ๋ useEffect์ ๊ด๋ จ์ด ์๋ค. ์์ธํ๊ฒ ์์ธ์ ํ์ ํ๊ธฐ ์ ์์๋ง ์ด ๊ธ์ ๋ณด๊ฒ๋ ๋ถ๋ค์ด ํ ์ค์๋ ์๋์ 2๊ฐ์ง์ผ ํ๋ฅ ์ด ๋๋ค!1. useEffect์์ ํจ์๊ฐ ์๋ ๋ค๋ฅธ ๊ฒ์ ๋ฐํ2. useEffect(async()=>{},[]) 2๊ฐ์ง ์ค์๋ ๋ชจ๋ useEffect์ ์๋ชป๋ ์ฌ์ฉ์ด๋ค. ํด๊ฒฐ๋ฒ๊ณผ ์์ธํ ์ด์ - useEffect์์ ํจ์๊ฐ ์๋ ๋ค๋ฅธ ๊ฒ์ ๋ฐํํ๋ ๊ฒฝ์ฐ beforeuseEffect(() => myFunction());useEffect(() => { return myFunction() }); afteruseEffect(() => { myFunction() }); ์ด์ useEffect(() => { ์ดํํธ ํจ์ return { ํด๋ฆฐ์ ํจ์ };}, [์.. 2024. 12. 16. [React/JS] setTimeout, setInterval ์ ์ ํ "์๊ณ" ํ์ง ์์ (setTimeout, setInterval ์ค๋ฅ) ํ๋ก์ ํธ์ ์ฝ์ ํ ์คํฑ์์น ๋ง๋ค์ด ๋์๋ค.6์ด๋ฅผ ์ธ์ด๋ณด๋๋ฐ ์ด์ํ๊ฒ ์ฒด๊ฐ ์ 8์ด๋ ๋๋ ๊ฒ ๊ฐ์๋ค.์ ์ด๊ฑฐ ์ด์ํ๋ฐ?? 1. setInetval์ ํ์ฉํ ํ์ด๋จธ1) ์์ฑ ์ฝ๋๋ด๊ฐ ์์ฑํ ์ฝ๋๋ setInterval์ ์ด์ฉํ์ฌ ์ฃผ๊ธฐ์ ์ผ๋ก ์๊ฐstate๋ฅผ ์ฆ๊ฐ์ํค๋ ๋ฐฉ์์ด๋ค.const [run, setRun] = useState(); //์คํฑ์์นstart์ํconst [time, setTime] = useState(0); //์๊ฐstateconst intervalRef = useRef();//์์์ํ ๊ฐ์งuseEffect(()=>{ if(props.start){ setRun(true); } else{ clearInterval(intervalRef.current) setRun(false.. 2024. 1. 6. [React] CORS ์๋ฌ ํด๊ฒฐํ๊ธฐ (http-proxy-middleware) ์ธ์ฃผ ์์ ๋์ค api์ ์์ฒญ์ ํ ๋ CORS ์๋ฌ๋ฅผ ๋ง์ฃผํ์๋ค!๋๋ต ์์ ๊ฐ์ ์๋ฌ ๋ฉ์ธ์ง๋ฅผ ์ฝ์์ฐฝ์์ ๋ณผ ์ ์๋ค. 1. CORS (Cross Origin Resource Sharing) 1) CORS๋?https://developer.mozilla.org/ko/docs/Web/HTTP/CORS/Errors CORS(๊ต์ฐจ ์ถ์ฒ ๋ฆฌ์์ค ๊ณต์ )๋ ๋ค๋ฅธ ์ถ์ฒ ๊ฐ์ ์์ ๊ณต์ ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๊ณ http ํค๋๋ฅผ ์ด์ฉํ์ฌ์คํ ์ค์ธ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ค๋ฅธ ์ถ์ฒ(Origin)์ ์์์ ์ ๊ทผํ ์ ์๋ ๊ถํ์ ๋ถ์ฌํ๋๋ก๋ธ๋ผ์ฐ์ ์ ์๋ ค์ฃผ๋ ์ฒด์ ์ด๋ค. 2) SOP (Same Origin Policy)https://developer.mozilla.org/ko/docs/Web/Security/Same-origin_poli.. 2023. 6. 30. ์ด์ 1 ๋ค์