axiso Axios ๋ ๋ธ๋ผ์ฐ์ , Node.js ๋ฅผ ์ํ Promise API ๋ฅผ ํ์ฉํ๋ HTTP ๋น๋๊ธฐ ํต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(return ์ promise ๊ฐ์ฒด๋ก ํด์ฃผ๊ธฐ ๋๋ฌธ์, response ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ฌ์ด ์ฅ์ ) axios ํน์ง ์ด์ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ธ๋ผ์ฐ์ ์ XMLHttpRequest ๊ฐ์ฒด ๋๋ Node.js์ http api ์ฌ์ฉ Promise(ES6) API ์ฌ์ฉ ์์ฒญ๊ณผ ์๋ต ๋ฐ์ดํฐ์ ๋ณํ HTTP ์์ฒญ ์ทจ์ HTTP ์์ฒญ๊ณผ ์๋ต์ JSON ํํ๋ก ์๋ ๋ณ๊ฒฝ axios ๊ธฐ์ด๋ฌธ๋ฒ /* axios ํ๋ผ๋ฏธํฐ ๋ฌธ๋ฒ ์์ */ axios({ method: "get", // ํต์ ๋ฐฉ์(GET/POST) url: "www.google.com", // ์๋ฒ headers: {'X-Requested-With..
axios ๋ชจ๋ํ axios๋ ํต์ ์ผ๋ก ํ ๊ณณ์์๋ง ์ฐ์ด๋ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์, ์ ์ง๋ณด์ ๋ฐ ๊ฐ๋ ์ฑ์ ์ํด ๋ชจ๋ํ๊ฐ ํ์ํฉ๋๋ค. ์ด์ ๊ธ์์ ์์ฑํ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ ๊ตฌ์ฑ์ ๋ฐ๋ผ, 'utils' ๋๋ ํ ๋ฆฌ์ api.js ๋ผ๋ react.js ๋ฅผ ์์ฑํด์ ์ฌ๋ฌ ํ์ด์ง์์ ํ์ฉํ์์ต๋๋ค. api.js ์ ์ธ import axios from 'axios'; const API =axios.create({ //baseURL: `http://localhost:8080/common`, timeout: 30000, headers: { "Content-Type" : `application/json;charset=UTF-8`, "Access-Control-Allow-Origin": "*", "Accept": "applicat..
ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ ๊ตฌ์ฑ ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ ๋, ์ ์ผ ๋จผ์ ์ ํ๋์ด์ผํ๋ฉฐ ๋๊ตฌ๋๊ฐ ํ ๋์ ๋ณผ ์ ์๋ ๊ตฌ์กฐ๋ก ๋ง๋ค์ด์ผ ํฉ๋๋ค. ์ด๋ ์ฃผ๋์ด ๊ฐ๋ฐ์ ๋ฟ๋ง ์๋๋ผ ์๋์ด ๊ฐ๋ฐ์๋ค ์ญ์ ๊ธฐ์กด์ ๋๊ตฐ๊ฐ ๋ง๋ค์๋ ํ๋ก์ ํธ ๋ฃฐ์ ๋ฐ๋ฅด๋ค ๋ณด๋, ์ค์ ๋ก ๋๋ ํ ๋ฆฌ๋ฅผ ๊ตฌ์ฑํ ์ผ์ ์์ด์ ์ค์๋๋ ๋ฎ๊ฒ ํ๊ฐ๋์ง๋ง, ์ค๊ณ๋ฅผ ํ์๋ ๋ถ๋ค์๊ฒ๋ ๊ต์ฅํ ์ค์ํ ์์ ์ด ์๋ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์๋ React๋ฅผ ๋ฒ ์ด์ค๋ก ์ค๋ช ํ๊ธฐ ๋๋ฌธ์ Web์์ ์ฌ์ฉ๋๋ ๊ตฌ์กฐ๋ฅผ ์ค๋ช ํด ๋ณด๊ฒ ์ต๋๋ค. ์ต์์ ๋๋ ํ ๋ฆฌ ๊ฒฐ๊ตญ ๋ง์ง๋ง์ ์ต์๋จ(src ํ์)์์ ๋ณด๊ฒ ๋ ๋๋ ํ ๋ฆฌ๋ '3'๊ฐ ๋๋ '4'๊ฐ ์ ๋๋ค. ๋ฐ๋ก 'components', 'resources', 'views', ('utils') * 'components' : ํน์ ๊ธฐ๋ฅ์ด ๋ค์ด๊ฐ ํ์ด์ง๋ค์ ..
localStorage ์ sessionStorage๋? localStorage์ sessionStorage ๋๊ฐ์ง ๋ฐฉ๋ฒ ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ญ์ ์ ๊ทผ ๊ฐ๋ฅํ๋ค๋ ๊ณตํต์ ์ด ์๋ค. ๊ฐ storage์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ ๋ชจ๋ ๋ฌธ์์ด๋ง ์ฌ์ฉ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ํ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ๋์๋ JSON ํํ๋ก ๋ณ๋ ๊ฐ๊ณต์ด ํ์ํ๋ค. ๋๊ฐ์ง ๋ฐฉ๋ฒ์ ์ฐจ์ด์ ์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ ๋ฒ์๊ฐ ๋ค๋ฅด๋ค๋ ์ ์ด๋ค. localStorage๋ ๋์ผํ pc์์์ ๋์ผํ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ์ ๋์ ์ฌ์ฉํ๋ค. ๋ฐ์ดํฐ๋ฅผ ์ง์ ์ญ์ ํ์ง ์๋ ํ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ซ์๋ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ฌ ์ ์๋ ์ฅ์ ์ด ์๊ณ , ์ฃผ๋ก ๋ก๊ทธ์ธ ์ '์์ด๋์ ์ฅ' ๊ธฐ๋ฅ์ ํ์ฌํ ๋ชจ๋ฐ์ผ์น์์ ์์ฃผ ์ฐ์ธ๋ค. sessionStorage๋ ๋ธ๋ผ์ฐ์ ์ฐฝ์ด ๋ซํ๋ฉด ์ธ์ ์ด ์ข ๋ฃ๋๋ฉด์..
์ ์ธ ' ๋์ ` ๋ฅผ ์ฌ์ฉํด์ผํ๋ค. ' ์ single quotation ์ด๊ณ ` ๋ Grave ํค๋ณด๋์ ์ซ์1 ์ผ์ชฝ์ ์๋ ๊ธฐํธ์ด๋ค. username์ value ๊ฐ 'test' ๋ผ๊ณ ๊ฐ์ ํด๋ณด์. 'hello ${username}' ์ ์ถ๋ ฅ์ hello ${username} ๋ก ๋ชจ๋ ๊ฐ์ String ๊ทธ๋๋ก ์ถ๋ ฅํ๋ค. `hello ${username}` ์ ์ถ๋ ฅ์ hello test ๊ฐ ๋๋ค
Chart.js ์ด๋ฒ์ ์ ๊ท ํ๋ก์ ํธ๋ฅผ ์งํํ๊ฒ๋์ด ์์์ ๋ฐ์๋ค. ๋งค์ถ์ด๋ ํํฉ ๋ฑ ์ฃผ๋ก ๋์๋ณด๋์์ ์์ฃผ ์ฐ์ด๋ ์ฐจํธ๋ฅผ ์ฌ์ฉ ํด๋ณด๋ ค๊ณ ํ๋ค. ์! ์ฌ๊ธฐ์์๋ ํจ์ํ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค : ) Install $ npm install chart.js --save Import import Chart from 'chart.js/auto'; How to Use function ??? () { const canvasDom = useRef(null); // Dependency array ์ props ์ถ๊ฐํ๊ณ return์ chart.destory() ์ถ๊ฐ ์์ useEffect(() => { const ctx = canvasDom.current.getContext("2d"); new Chart(ctx, {..