ritz
@ritz
Reviews Written
-
Average Rating
-
Posts
Q&A
value ์ defaultValue ์ ์ฐจ์ด
์ ๋ ๋ฐฐ์ฐ๋ ์ ์ฅ์ด์ง๋ง ์ง๋๊ฐ๋ค ์๋๋๋ก ์จ๋ดค์ด์value๋ ๋ฌด์กฐ๊ฑด ์์ ์ด ์ ๋๋ ๊ฑด ์๋๋ฐ์์ผ๋จ ์ฌ์ฉ์๊ฐ ์ง์ input ์ฐฝ์ ์ ๋ ฅ, ์์ ํ ์ ์๋ ๊ฐ์ด๋ฉด readOnly๋ฅผ ์จ์ค์ผ๋ผ์import { useState } from "react"; export default function TestPage() { const [zipcode, setZipcode] = useState(""); const onChangeZipcode = (event): void => { setZipcode(event.target.value); console.log(zipcode); }; return ( ); }๋์ถฉ ์์ฒ๋ผ ์์ฑํ๊ณ ์คํํด๋ณด๋ฉด ์ ๋ ฅ์ด ์ ๋จนํ๊ณ Warning: You provided a value prop to a form field without an onChange handler. This will render a read-only field. If the field should be mutable use defaultValue. Otherwise, set either onChange or readOnly. ๋ผ๋ ๊ฒฝ๊ณ ๊ฐ ๋จ๋๋ฐ ์๋ํ๋ฉดvalue={zipcode}์ธ๋ฐ onChange๊ฐ ์์ผ๋ ์ฌ์ฉ์๊ฐ input์ฐฝ์ ์ ๋ ฅํ๋ ๊ฑธ ๊ฐ์งํ๊ณ zipcode๋ฅผ ๋ฐ๊ฟ์ค ์๊ฐ ์์ด์๋ง~์ฝ ์ฌ์ฉ์๊ฐ input์ฐฝ์ ์ ๋ ฅ์ ํ๋ค ์ณ๋ zipcode๊ฐ ์ ๋ฐ๋๋๋ฐ value๋ ๋ฌด์กฐ๊ฑด zipcode์ฌ์ผ ํ๋๊น input์ฐฝ์ ์ ๋ ฅ์ด ๋๋ค๋ฉด? ์ด์ํด์ง๋๊ฑฐ์ฃ ๊ทธ๋์ ์ ๋ ๊ฒ๋ง ์ฐ๋ฉด ์ด์ฐจํผ readOnly๋ก ๋ง๋ค์ด์ง๊ณ , ์ง์ง ์ด๋ ๊ฒ ๋์ํ๋ ๊ฑธ ์ํ๋๊ฑฐ๋ฉด readOnly๋ฅผ ๋ช ์์ ์ผ๋ก ์ฐ๋ผ๋ ์๋ฆฌ๊ฐ์์์๋ value="07250"์ด๋ฉด ๋ญ ์ง์ ํด๋ 07250์์ ์ ๋ฐ๋ํ ๋๊น ์๋ ๊ฐ์ ๊ฒฝ๊ณ ๊ฐ ๋ฐ๊ฑฐ์์ ์ด๊ฒ ๊ฐ์์์ ์๋ก ๋ "๋ฐ๊ฐ์ต๋๋ค"๋ฅผ value๋ก ๋ฃ์๊ฑฐ๋ ๊ฐ์ ๊ฑฐ๊ณ ๊ทธ๋์ value๋ฅผ ์์ ํ ์ ์๋ค๊ณ ํ์ ๊ฒ ๊ฐ์๋ฐ๋ง์ฝ์ด๋ ๊ฒ onChange๋ฅผ ๋ถ์ฌ์ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ๋๋๋ก zipcode๋ ๋ฐ๋ ์ ์๊ฒ ํด์ฃผ๋ฉด value์ฌ๋ ์ ๋ ฅ๋ด์ฉ์ด ๋ฐ๋์ด์ ๊ทผ๋ฐ defaultValue๋ onChange ์์ด ์๋ง ๋ฌ๋ ์จ๋ ์ ๋ ฅ์ ๋ฐ๊ฟ ์ ์์ด์value๋ ๋ฌด์กฐ๊ฑด ๊ทธ ์ ๋ ฅ์ฐฝ์ ์จ์ ธ์๋ ๊ฒ ํญ์ value๊ฐ์ด์ด์ผ ํ๋๊ฑฐ๊ณ defaultValue๋ ๋ง๊ทธ๋๋ก ์ฒ์์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์จ์ ธ์๋ ๊ฒ๋ฟ์ด๋ผ ๋ญํ๋ ์์ ์ด ๋๋๊ฑฐ์ฃ ๊ฒฐ๋ก ์ ์ผ๋ก zipcode์ ๊ฒฝ์ฐ์๋ value๋ฅผ ์ ๋ ฅ์ฐฝ์์ ์ง์ ์์ ํ ์ ์๊ธฐ ๋๋ฌธ์ readOnly๋ฅผ ์จ์ผํ๊ณ , ์ํด๋ณด๊ธด ํ๋๋ฐ readOnly๋ฅผ ๋นผ๋ ์ด์ฐจํผ readOnly๋ก ๋ง๋ค์ด์ง ๊ฒ ๊ฐ์์๊ทธ๋ฆฌ๊ณ value๋ ์ฌ์ฉ์์ ์ ๋ ฅ ๊ฐ์ด state์ ์ฐ๊ฒฐ๋๋ ์ ์ด ์ปดํฌ๋ํธ์์ ์ฌ์ฉํ๊ณ defaultValue๋ ๋น์ ์ด ์ปดํฌ๋ํธ์์ ์ฌ์ฉํ๋ค๊ณ ํ๋ค์https://ko.react.dev/reference/react-dom/components/input์ฌ๊ธฐ์๋ ์์ธํ ๋ด์ฉ์ด ๋์์๋ค์ ๊ทธ๋ฆฌ๊ณ props.address !== ""๊ฐ ๊ฑฐ์ง์ธ ๊ฒฝ์ฐ๋ฅผ ๋ฌผ์ด๋ณด์ จ๋๋ฐ ์ ๊ฐ ์๊ฐํ๊ธฐ์๊ฒ์๊ธ ์์ฑ์ด๋ ์์ ์ด๋ ์ฒ์์๋ ๋ฌด์กฐ๊ฑด props.address === "" ์ผ ๊ฑฐ์์์๋ก์ด ํ์ด์ง๋ก ๋์ด๊ฐ ๋, state๋ ์ ๋ถ ์๋ก ์ด๊ธฐํ๋๋ฉด์ ๋ง๋ค์ด์ง๋ ๊ฑธ๋ก ์๋๋ฐ ๊ทธ๋ผ address๋ (์์ฑ์ด๋ ์์ ์ด๋ ) ์ด๊ธฐ๊ฐ์ธ ๋น ๋ฌธ์์ด๋ก ๋ง๋ค์ด์ง ์ํ์ผ ๊ฒ์ด๊ณ ๊ทธ๋์ ์ฒ์์๋ ๋ฌด์กฐ๊ฑด props.address !== ""์ด ์๋๋๊น, ์ฆ address๊ฐ ๋น ๋ฌธ์์ด์ด๋๊น props.zipcode ๊ฐ ์๋props.data?.fetchBoard.boardAddress?.address ?? ""์ฌ๊ธฐ๋ก ๋์ด์ค๊ณ , props.data?.์ด์ฉ๊ตฌ์ ์ฉ๊ตฌ.address๊ฐ ์กด์ฌํ๋ค๋ฉด ์ด๊ฒ ๋ฐ๋ก ๊ธ์ ์์ ์ค(๋ ์ ํํ ๋งํ๋ฉด ์์ ํ๋ ค๋ ๊ธ์ ์ด๋ฏธ ๊ธฐ์กด์ ์์ฑํ address๊ฐ ์กด์ฌํจ)์ด๋ผ๋ ๋ป์ด์์์๋ํ๋ฉด ์ ์ด์ props.data๋ edit ํ์ด์ง์์๋ง fetchBoardํด์ ์ ๋ฌํ๊ณ ์๊ฑฐ๋ ์ new์์๋ data๊ฐ ์์ด์์๋ฌดํผ ์ด props.data.์ด์ฉ๊ตฌ.address๊ฐ์ด ์์ผ๋ฉด ์ด๊ฑธ ์ฃผ์์ฐฝ์ ๋ฃ์ด์ฃผ๋๊ฑฐ๋๊น ๊ทธ๋ผ ์์ ํ์ด์ง์ ๊ฒ์๊ธ์ ์ผ๋ ์ฃผ์๊ฐ ์์์ ์ฑ์์ ธ์ ๋ณด์ด๊ฒ ์ฃ (์ด๊ฒ defaultValue ์ญํ )๊ทธ๋ฆฌ๊ณ props.์ด์ฉ๊ตฌ.address๊ฐ ์๋ค๋ ๊ฑด new ํ์ด์ง(๊ฒ์๊ธ ์์ฑํ๋ ๊ฒฝ์ฐ)์ด๊ฑฐ๋ ์์ ํ ๊ธ์ ์ฃผ์๋ฅผ ์ค์ ํ์ง ์์๊ฑฐ๋? ์ผ ๊ฒ ๊ฐ๋ค์ ๊ทธ๋ ๊ฒ ""๊ฐ ๋๋๊ฑฐ๊ณ ๋ง์ง๋ง์ผ๋ก props.address !== ""์ธ ๊ฒฝ์ฐ๋ ์ฌ์ฉ์๊ฐ ์ฃผ์๋ฅผ ๊ณจ๋์ ๋(=์ฃผ์๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐฝ์์ ์ฃผ์ ๊ณจ๋ผ์ onCompleteAddressSearch๊ฐ ์คํ๋๊ณ address๋ผ๋ state๊ฐ ๋ณ๊ฒฝ๋๋ฉด์ ""์ด ์๋ ๊ฐ์ด ๋์์ ๋) ์ด ๊ณ ๋ฅธ ์ฃผ์๊ฐ ๋์์ค์ผ ํ๋๊น props.address๊ฐ ๋น๋ก์ value๋ก์ ํ์๋๊ณ ์ ๋ง์ง๋ง ์ง๋ฌธ์ ์ ๋ ์ ํํ ๋ชจ๋ฅด๊ฒ ์ง๋ง ์์ ๋ด์ฉ์ value๋ฅผ ์ฐ๋๊ฒ ๋ง๋๊ฑฐ๊ฐ์์ writer state์ ์ ๋ ฅ๊ฐ์ด ์ฐ๋๋๊ธฐ ๋๋ฌธ์์๊ทธ๋ฆฌ๊ณ ์ ๊ฐ ๋์ค์ ๋๊ธ ์์ ์ ๊ตฌํํ๋ฉด์ ์ด๋ฐ์์ผ๋ก ๋ฐ๊พธ๊ฒ ๋์๊ณ value={ props.writer !== "" ? props.writer : props.el?.writer ?? "" }์ด๋ props.writer๋ฅผ defaultValue๋ก ํ๋ ์๊ธฐ๋ ๋ฌธ์ ์ ์ด์ ๋ ๋ด์ฉ์ ์ ๋ ฅํ๊ณ ๋ฑ๋กํ๊ธฐ๋ฅผ ๋๋ฅด๋ฉด ์ ๋๊ธ์ด ์์ฑ๋๋ฉด์ ๋๊ธ์ฐฝ์ ์์ฑ์์ ๋น๋ฐ๋ฒํธ์ ๋ด์ฉ์ ๋น์์ง๋๋ก ํ๊ณ ์ถ์ด์, ๋ฑ๋กํ๊ธฐ๋ฅผ ๋๋ฅด๋ฉด ์คํ๋๋ ํจ์ ๋ง์ง๋ง์ state๋ค์ setState("")๋ก ๋ฐ๊ฟ๋ฒ๋ ธ๊ฑฐ๋ ์๊ทผ๋ฐ defaultValue๋ฅผ ์ฐ๋๊น ์ด๋ ๊ฒ ๋ค๋ฅธ ๊ณณ์์ state๋ฅผ ""๋ก ๋ฐ๊พผ ๊ฒ ์ ์ฉ์ด ์ ๋์ด๋ฒ๋ ค์๊ทธ๋ฌ๋๊น ์ ๋ ฅ์ฐฝ์ ๋ด์ฉ๊ณผ props.writer์ ๋ด์ฉ์ด ํญ์ ๊ฐ๋ค๋ ๋ณด์ฅ์ด ์๋ค๋ ๊ฑฐ์์...onChange={props.onChangeWriter}๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ ๋ ฅ์ฐฝ์์ ์ฒ ์ ๋ผ๊ณ ์ฐ๋ฉด ๊ทธ๊ฒ ๊ณง writer state๊ฐ์ด ๋๊ธด ํ์ง๋ง๋ฐ๋๋ก ๋ค๋ฅธ ๊ณณ์์ setWriter("์ํฌ") ํด๋ดค์ ์ ๋ ฅ์ฐฝ์ ๋ด์ฉ์ ๋ฐ๋์ง ์๋๊ฑฐ๊ณ , defaultValue๋ ์ฒ์ ์ด๊ธฐ๊ฐ์ ํ์ํ๋๋ฐ์ ์ญํ ์ ๋คํ๋๊ฑฐ์ฃ ๋ง์ฝ value={props.writer}๋ฉด ์ํฌ๋ก ๋ฐ๋์๊ฒ ์ฃ ์ด๋์ ์๋ง state์ ์ ๋ ฅ๊ฐ์ด ์ฐ๊ฒฐ๋ ๋๋ value๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค๊ณ ํ๋ ๊ฒ ๊ฐ์์
- Likes
- 1
- Comments
- 3
- Viewcount
- 278
Q&A
๋ฆฐํฐ Parsing error
ํด๊ฒฐ ๋ชปํด์ .eslintrc.js์ ignorePatterns์ **/**.js๋ ์ถ๊ฐํด์ ๊ทธ๋ฅ jsํ์ผ ํฌํจ ์์ํค๊ณ ์ปค๋ฐ์ ์ฑ๊ณตํ๋ค์
- Likes
- 0
- Comments
- 3
- Viewcount
- 578




