๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

FA

(40)
20221005 React Hooks - useContext useContext ์—ฌ๋Ÿฌ ๊ณณ์— ์“ฐ์ด๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ ค์ฃผ๊ณ  ์‹ถ์„ ๋•Œ ์ปดํฌ๋„ŒํŠธ์˜ ๋‹จ๊ณ„๊ฐ€ ๋งŽ๋‹ค๋ฉด ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณตํ•ด์„œ Prop์„ ๋‚ด๋ ค์ค˜์•ผ ํ•˜๋Š”๋ฐ, ์ด๋Ÿฐ ๋ฌธ์ œ์ ์„ ํ”„๋กญ ๋“œ๋ฆด๋ง(Prop Drilling) ์ด๋ผ๊ณ  ํ•จ. Context๋Š” ํ”„๋กญ ๋“œ๋ฆด๋ง์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ React Context๋Š” ์ „์—ญ์ ์œผ๋กœ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ• ์ „์—ญ์„ ํ”„๋กญ์Šค๋กœ ๋‹จ๊ณ„์ ์œผ๋กœ ํ•˜๋ ค๊ณ ํ•œ๋‹ค๊ณ ํ•˜๋ฉด ํž˜๋“ฌ ์ปจํ…์ŠคํŠธ๊ฐ€ ์•ฑ์•ˆ์—์„œ ์ „์—ญ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‰ฝ๊ฒŒ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์คŒ ์ „์—ญ์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ์— ํŽธํ•จ ์ƒ์œ„์ปดํฌ๋„ŒํŠธ์—์„œ ํ•„์š”ํ•œ ๊ฐ’์„ ๋‹จ๊ณ„๋กœ๋ณ„๋กœ ํ†ตํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ๋ฐ”๋กœ ๋„˜๊ฒจ์ค„ ์ˆ˜ ์žˆ์Œ Context๋กœ ๊ณต์œ ํ•œ๊ฑธ > useContext๋กœ ๋ฐ”๋กœ ๋ฐ›์•„์™€์„œ ์“ธ ์ˆ˜ ์žˆ์Œ ๋‹จ์  ์ปจํ…์ŠคํŠธ๋Š” ๊ผญ ํ•„์š”ํ•  ๋•Œ๋งŒ ์จ์•ผ๋Œ ์ด์œ  - ์ปดํฌ๋„ŒํŠธ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์–ด..
20221001 React Hooks - useRef ๋ณ€์ˆ˜๊ด€๋ฆฌ, DOM ์š”์†Œ ์ ‘๊ทผ Hook์˜ ๊ทœ์น™ React ํ•จ์ˆ˜ ๊ตฌ์„ฑ ์š”์†Œ ๋‚ด์—์„œ๋งŒ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Œ(๋ฐ˜๋“œ์‹œ Functional Component ์•ˆ์—์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•จ) ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ตœ์ƒ์œ„์—์„œ๋งŒ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Œ ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ ์•ˆ์—์„œ ๋ชป ์”€ useRef ๋ Œ๋”๋ง ๊ฐ„์— ๊ฐ’์„ ์œ ์ง€ ์—…๋ฐ์ดํŠธ ์‹œ ๋‹ค์‹œ ๋ Œ๋”๋ง๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•œ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ DOM ์š”์†Œ์— ์ง์ ‘ ์•ก์„ธ์Šคํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ //์ƒ์„ฑํ•˜๊ณ  DOM ๋…ธ๋“œ์— ์—ฐ๊ฒฐํ•˜๊ธฐ const ref = useRef(); // ... return ๋ ˆํ”„๋ ˆํ”„; //DOM ๋…ธ๋“œ ์ฐธ์กฐํ•˜๊ธฐ const node = ref.current; if (node) { // node๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ } ๋ณ€ํ™”๋Š” ๊ฐ์ง€ํ•ด์•ผ ๋˜์ง€๋งŒ, ๊ทธ ๋ณ€ํ™”๊ฐ€ ๋ Œ๋”๋ง์„ ๋ฐœ์ƒ์‹œํ‚ค๋ฉด ์•ˆ๋˜๋Š” ๊ฐ’์„ ๋‹ค๋ฃฐ ๋•Œ ํŽธ๋ฆฌ import { useState, useE..
20220928 React์—์„œ ์ธ์Šคํƒ€ ์Šคํ† ๋ฆฌ์ฒ˜๋Ÿผ ํ•˜๊ธฐ react-insta-stories mohitk05.github.io ์ธ์Šคํƒ€์Šคํ† ๋ฆฌ์ฒ˜๋Ÿผ ํ‘œํ˜„๊ฐ€๋Šฅํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 1. ์„ค์น˜ yarn add react-insta-stories GitHub - mohitk05/react-insta-stories: A React component for Instagram like stories A React component for Instagram like stories. Contribute to mohitk05/react-insta-stories development by creating an account on GitHub. github.com import Stories from "react-insta-stories"; const initialStories = [ //์ด๊ฑธ ..
20220927 React์—์„œ sweetalert2 ์‚ฌ์šฉํ•˜๊ธฐ 1. ์„ค์น˜ npm install --save sweetalert2 sweetalert2-react-content 2. import ํ•ด์ฃผ๊ธฐ import Swal from "sweetalert2"; 3. const๋กœ ์„ ์–ธ const deleteAlert = () => { Swal.fire({ title: "์ผ์ •์‚ญ์ œ", text: "์ •๋ง๋กœ ์‚ญ์ œํ•˜์‹œ๊ฒ ์–ด์š”?", //๋‚œ ์ด๋ฏธ์ง€ ์ €์žฅํ•ด์„œ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ, url๋กœ ๋ถˆ๋Ÿฌ์˜ฌ์ˆ˜๋„์žˆ์Œ/์ด๋ฏธ์ง€ ํฌ๊ธฐ ์ง€์ • %๋ฐ px ๋“ฑ ์‚ฌ์šฉ์•ˆ๋จ imageUrl: calendarIcon, imageWidth: 50, imageHeight: 50, //์ทจ์†Œ๋ฒ„ํŠผ ํ‘œ์‹œ ๋ฐ ๋ฒ„ํŠผ ์ƒ‰์ƒ ํ…์ŠคํŠธ showCancelButton: true, confirmButtonColor: "#47AFDB", cancelBut..
22020926 React Hooks - useState, useEffect Hook์€ class๋ฅผ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ณ ๋„ state๋“ฑ ๋‹ค๋ฅธ React์˜ ๊ธฐ๋Šฅ๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. Hook์˜ ๊ทœ์น™ React ํ•จ์ˆ˜ ๊ตฌ์„ฑ ์š”์†Œ ๋‚ด์—์„œ๋งŒ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Œ(๋ฐ˜๋“œ์‹œ Functional Component ์•ˆ์—์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•จ) ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ตœ์ƒ์œ„์—์„œ๋งŒ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Œ ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ ์•ˆ์—์„œ ๋ชป ์”€ useState State: ์ปดํฌ๋„ŒํŠธ์˜ ์ƒํƒœ //State ์‚ฌ์šฉํ•˜๊ธฐ const [state, setState] = useState(initialState); //์ฝœ๋ฐฑ์œผ๋กœ ์ดˆ๊นƒ๊ฐ’ ์ง€์ •ํ•˜๊ธฐ //์ดˆ๊นƒ๊ฐ’์„ ๊ณ„์‚ฐํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•œ ๊ฒฝ์šฐ์— ํ™œ์šฉ const [state, setState] = useState(() => { // ... return initialState; }); //State ๋ณ€๊ฒฝ setState..
20220924 React์—์„œ Dark๋ชจ๋“œ ์ ์šฉํ•˜๊ธฐ Dark ๋ชจ๋“œ๋ฅผ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ, App.js์—์„œ useState๋ฅผ ์‚ฌ์šฉํ•ด์„œ css, scss๋กœ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• 1. ์ „์—ญ์—์„œ ์‚ฌ์šฉ๋˜์–ด์•ผ ๋˜๊ธฐ ๋•Œ๋ฌธ์— App.js์— ์ž‘์„ฑํ•˜๊ธฐ - useState ์‚ฌ์šฉ import React, { useState } from "react"; import styled from "styled-components"; import "./app.scss"; function App() { const [dark, setDark] = useState(false); return ( { setDark(!dark); }} > ๋‹คํฌ๋ชจ๋“œ ); } export default App; 2. app.css์— ๋‹คํฌ๋ชจ๋“œ์ผ๋•Œ css ์ ์šฉํ•˜๊ธฐ .App { background-color:..
20220923 ๋ชจ๋ฐ”์ผ ์ฐฝ์—์„œ input ํด๋ฆญ ์‹œ ํ™•๋Œ€ ๋ฐฉ์ง€ ๋ชจ๋ฐ”์ผ์—์„œ input ์ž…๋ ฅ์ฐฝ์„ ํด๋ฆญํ•˜๋ฉด, ํ™”๋ฉด์ด ํ™•๋Œ€๋  ๋•Œ ํ™”๋ฉด ์ž๋™ํ™•๋Œ€ ๋ฐฉ์ง€ ๋ฐฉ๋ฒ• meta ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ (react ๊ฐ™์€ ๊ฒฝ์šฐ index.html์— ์ถ”๊ฐ€) viewport ์†์„ฑ width=device-width ํ™”๋ฉด ๋„ˆ๋น„๋ฅผ ๊ธฐ๊ณ„ ๋„ˆ๋น„๋กœ ๋งž์ถค initial-scale=1.0 ์ดˆ๊ธฐ ํ™”๋ฉด ํฌ๊ธฐ ๋ฐฐ์œจ ์„ค์ • minimum-scale=1 ์ตœ์†Œ ํ™”๋ฉด ํฌ๊ธฐ ์„ค์ • maximum-scale=1 ์ตœ๋Œ€ ํ™”๋ฉด ํฌ๊ธฐ ์„ค์ • user-scalable=no ์‚ฌ์šฉ์ž๊ฐ€ ํ™”๋ฉด ํ™•๋Œ€/์ถ•์†Œ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ์„ค์ • target-densitydpi=device-dpi ํ•ด๋‹น๋„๋ฅผ ๊ธฐ๊ธฐ์— ๋งž์ถค ์„ค์ • ์ฐธ๊ณ  ๋ฐ ์ถœ์ฒ˜ https://developer.mozilla.org/en-US/docs/Web/HTML/Viewport_meta_tag Viewport meta..
20220921 block / inline-block / inline ์ฐจ์ด์  See the Pen block / inline-block / inline by rimrim (@s2hl) on CodePen. block inline-block inline ,,๋“ฑ , , ๋“ฑ , , ๋“ฑ ๋ฌด์กฐ๊ฑด ํ•œ์ค„์„ ์ ์œ  ํฌ๊ธฐ๋งŒํผ๋งŒ ๊ณต๊ฐ„์„ ์ ์œ  text ํฌ๊ธฐ๋งŒํผ๋งŒ ๊ณต๊ฐ„์„ ์ ์œ  ๋‹ค์Œ ํƒœ๊ทธ๋Š” ๋ฌด์กฐ๊ฑด ์ค„๋ฐ”๊ฟˆ์ด ์ ์šฉ ์ค„๋ฐ”๊ฟˆ์„ ํ•˜์ง€ ์•Š๊ณ , ๋™์ผํ•œ ๋ผ์ธ์— ์ž‘์„ฑ๊ฐ€๋Šฅ ์ค„๋ฐ”๊ฟˆ์„ ํ•˜์ง€ ์•Š๊ณ , ๋™์ผํ•œ ๋ผ์ธ์— ์ž‘์„ฑ๊ฐ€๋Šฅ width, height, margin, padding ์†์„ฑ์ด ๋ชจ๋‘ ๋ฐ˜์˜ width, height, margin, padding ์†์„ฑ์ด ๋ชจ๋‘ ๋ฐ˜์˜ margin๊ณผ padding ์†์„ฑ์€ ์ขŒ์šฐ ๊ฐ„๊ฒฉ๋งŒ ๋ฐ˜์˜ / ์ƒํ•˜ ๊ฐ„๊ฒฉ์€ ๋ฐ˜์˜X ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” block ์—˜๋ฆฌ๋จผํŠธ์˜ ๊ทœ์น™์„ ๋”ฐ๋ฅด๋ฉด์„œ ์™ธ๋ถ€์ ์œผ๋กœ inline ์—˜๋ฆฌ๋จผํŠธ์˜ ๊ทœ..