[React 12] - Modal, React-Daum-Postcode, prevState

yiwoojungยท2022๋…„ 7์›” 12์ผ
0

{C} Codecamp FE 06

๋ชฉ๋ก ๋ณด๊ธฐ
12/21

๐ŸŒป ์˜ค๋Š˜์˜ ๋ชฉํ‘œ

  1. Modal
  2. React-Daum-Postcode
  3. prevState


์ด์ „ ๊ฐ•์˜ ๋ฆฌ๋ทฐ

  • ๋ณ„์ 
import {Rate} from "antd"
export const Star = styled(Rate)``
  • ์œ ํˆฌ๋ธŒ ๋ฏธ๋ฆฌ๋ณด๊ธฐ
export const Youtube = styled(ReactPlayer)`
	margin : auto
`
<Youtube 
url={props.data?.fetchBoard.youtubeUrl}
width="486px"
height="240px"
/>

<Youtube
onChange={props.onChangeYoutubeUrl}
defaultValue={props.data?.fetchBoard.youtubeUrl || ""}
/>

1. Modal

ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋กœ ๋ณ€๊ฒฝํ•ด์„œ ์‚ฌ์šฉ


2. React-Daum-Postcode

๊ตญ๋‚ด์šฉ ์ฃผ์†Œ ์ž…๋ ฅ ๋ชจ๋‹ฌ

yarn add react-daum-postcode
npm install --save react-daum-postcode

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ ํ›„ import ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.

data.address, data.zonecode ๋กœ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Œ



์ด๋•Œ ์ด ์ฝ”๋“œ๋ฅผ ๋” ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๋ฆฌํŒฉํ† ๋ง ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ๋ฐ”๋กœ prev๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

3. prevState


count๋ฅผ ์˜ฌ๋ฆฌ๋Š” setCount๋ฅผ ํ•ด์ค„ ๋•Œ
setCount(count + 1) ์ด๋ ‡๊ฒŒ ์ ์–ด๋„ setState๋Š” ๋งˆ์ง€๋ง‰ ํ•œ๋ฒˆ๋งŒ ๋ฆฌ๋žœ๋” ํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— count ๊ฐ’์ด ์ €์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋ ‡๊ฒŒ ์ด์ „ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด prev๋ผ๋Š” ์ž„์‹œ์ €์žฅ๊ณต๊ฐ„์ด๋‹ค.
์‚ฌ์šฉ์€ ๋‹ค์Œ ์ฒ˜๋Ÿผ ํ•˜๋ฉด ๋œ๋‹ค.

์ด์ œ ๋ชจ๋‹ฌ์„ ๋ฆฌํŒฉํ† ๋งํ•ด๋ณด์ž.

๊ธฐ์กด์˜ Boolean๊ฐ’์„ ๊ฐ€์ ธ์™€์„œ ๋ฐ˜๋Œ€์˜ Boolean๊ฐ’์œผ๋กœ ๋ฐ”๊พธ๊ธฐ(ํ† ๊ธ€)๋Š” setIsOpen((prev)=>(!prev)) ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋•Œ ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ๋„ค๋ฒˆ์ด ๋ฐ˜๋ณต๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ์šด onToggleModal์„ ๋งŒ๋“ค์–ด์„œ ๋ถˆ๋Ÿฌ์™€๋ณด์ž.

์ด๋ ‡๊ฒŒ ๋ฆฌํŒฉํ† ๋ง ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฆฌํŒฉํ† ๋ง์„ ํ•œ ํ›„๊ฐ€ ์ด์ „๋ณด๋‹ค ํ›จ์”ฌ ์งง์•„์ง„ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

profile
ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž

0๊ฐœ์˜ ๋Œ“๊ธ€