โœ๐Ÿป [Code Camp_TIL] 9์ผ์ฐจ: defaultValue

code_Jยท2023๋…„ 3์›” 27์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
13/41
post-thumbnail

defaultValue


๋งŒ์•ฝ ํŠน์ • ๊ฐ’์„ ์ˆ˜์ •ํ•œ๋‹ค๋ฉด, ์ˆ˜์ •ํ•œ ๊ฐ’๋งŒ ์—…๋ฐ์ดํŠธ ๋˜์–ด์•ผ ํ•œ๋‹ค. ์ˆ˜์ •ํ•˜์ง€ ์•Š์€ ๊ธฐ์กด์˜ ๊ฐ’๋“ค์€ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ด๋‹ค. defaultValue๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ˆ˜์ •๋œ ๋ถ€๋ถ„๋งŒ ์—…๋ฐ์ดํŠธ ๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. defaultValue๋Š” input ํƒœ๊ทธ์˜ ์†์„ฑ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.


ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ํ•ด์คฌ์Œ์—๋„ ํŠน์ • ๊ฐ’์„ ์ˆ˜์ •ํ•œ ํ›„์— ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ๋„˜์–ด๊ฐ”์„ ๋•Œ ์ˆ˜์ •ํ•˜์ง€ ์•Š์€ ๊ฒƒ๋“ค์˜ defaultValue๊ฐ€ ์‚ญ์ œ๋˜์–ด ๋นˆ ๊ฐ’์ด ๋“ค์–ด๊ฐ€๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

state์˜ ์ดˆ๊ธฐ๊ฐ’ ๋•Œ๋ฌธ์ธ๋ฐ, defaultValue๋Š” ์‹ค์ œ state๊ฐ€ ์•„๋‹Œ input์˜ ์†์„ฑ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ™”๋ฉด ์ƒ์—๋Š” ๋‚˜ํƒ€๋‚˜์ง€๋งŒ state์— ์ €์žฅ๋˜์ง€ ์•Š์€ ์ฑ„๋กœ ๋ฐฑ์—”๋“œ ์ปดํ“จํ„ฐ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก๋œ๋‹ค.


์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด 2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ๋จผ์ €, input ์ฐฝ์—๋งŒ defaultValue๋ฅผ ์ฃผ์ง€ ๋ง๊ณ , state์—๋„ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ๋„ฃ์–ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

ํ˜น์€ state์— ์ดˆ๊ธฐ๊ฐ’์„ ๋„ฃ์ง€ ๋ง๊ณ , '์ˆ˜์ •ํ•˜๊ธฐ' ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ๊ฒ€์‚ฌํ•ด์„œ ๊ฐ’์ด ๋ฐ”๋€Œ์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋“ค์€ ๋ฐฑ์—”๋“œ ์ปดํ“จํ„ฐ๋กœ ๋ณด๋‚ด์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•œ๋‹ค.

์ฒซ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ ๋ฐ”๋€Œ์ง€ ์•Š์€ ๊ฐ’๋„ ๋ฐฑ์—”๋“œ ์ปดํ“จํ„ฐ๋กœ ๋ณด๋‚ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๊ฐ€ ํฐ ๊ฒฝ์šฐ ๋ฐฑ์—”๋“œ๋กœ์˜ ์ „์†ก ์†๋„๊ฐ€ ๋Š๋ ค์งˆ ์ˆ˜ ๋ฐ–์— ์—†๋‹ค. ๋”ฐ๋ผ์„œ ๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์ด ํ›จ์”ฌ ํšจ์œจ์ ์ด๋‹ค.


๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ mutation์œผ๋กœ ๋ณด๋‚ด์ค„ ์ˆ˜ ์žˆ๋‹ค!


const onClickUpdate = async () => {
    const myVariables = {
      number: Number(router.query.number),
    };
    if (writer) myVariables.writer = writer;
    if (title) myVariables.title = title;
    if (contents) myVariables.contents = contents;

    const result = await updateBoard({
      variables: myVariables,
    });
  };

number์˜ ๊ฒฝ์šฐ, ๊ผญ ๋“ค์–ด๊ฐ€์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฏธ๋ฆฌ myVariables ๊ฐ์ฒด์— ๋„ฃ์–ด์ฃผ๊ณ , ๋‚˜๋จธ์ง€๋Š” ์กฐ๊ฑด๋ฌธ์„ ํ™œ์šฉํ•ด์„œ ํ•ด๋‹น state๊ฐ€ ๋นˆ ๊ฐ’์ด ์•„๋‹ ๋•Œ์—๋งŒ key์™€ value๋ฅผ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

profile
Web FE ๊ฐœ๋ฐœ์ž ์ทจ์ค€์ƒ

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