728x90
https://github.com/kmsbernard/react-daum-postcode
GitHub - kmsbernard/react-daum-postcode: ๋ฆฌ์กํธ ์ปดํฌ๋ํธ๋ก ๋ง๋ Daum ์ฐํธ๋ฒํธ ๊ฒ์ ์๋น์ค์ ๋๋ค.
๋ฆฌ์กํธ ์ปดํฌ๋ํธ๋ก ๋ง๋ Daum ์ฐํธ๋ฒํธ ๊ฒ์ ์๋น์ค์ ๋๋ค. Contribute to kmsbernard/react-daum-postcode development by creating an account on GitHub.
github.com
npm i react-daum-postcode

๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ํ
import { useDaumPostcodePopup } from "react-daum-postcode";
importํ์ฌ ์ฌ์ฉํ๋ฉด ๋๋น
const [userFullAddress, setFullAddress] = useState(""); //์ ์ ์ฃผ์
const [userZoneCode, setUserZoneCode] = useState(""); //์ ์ ์ฐํธ๋ฒํธ
//๋ค์ ์ฐํธ๋ฒํธ ์ฐพ๊ธฐ API์ฌ์ฉ
const open = useDaumPostcodePopup(postcodeScriptUrl);
const handleComplete = (data) => {
let fullAddress = data.address;
let extraAddress = "";
let zonecode = data.zonecode;
if (data.addressType === "R") {
if (data.bname !== "") {
extraAddress += data.bname;
}
if (data.buildingName !== "") {
extraAddress +=
extraAddress !== "" ? `, ${data.buildingName}` : data.buildingName;
}
fullAddress += extraAddress !== "" ? ` (${extraAddress})` : "";
}
setFullAddress(fullAddress); // e.g. '์์ธ ์ฑ๋๊ตฌ ์์ญ๋ฆฌ๋ก2๊ธธ 20 (์ฑ์๋1๊ฐ)'
setUserZoneCode(zonecode);
};
const handleClick = () => {
open({ onComplete: handleComplete });
};
<button type="button" onClick={handleClick}>
์ฐํธ๋ฒํธ ๊ฒ์
</button>
<input type="text" defaultValue={userZoneCode} required />
<input
className="infoInput"
type="text"
defaultValue={userFullAddress}
required
/>

์ฐํธ๋ฒํธ ๊ฒ์ ํด๋ฆญํ๋ฉด
์๋์ ๊ฒ์ ์ฐฝ์ด ํ์ ์ผ๋ก ๋ฌ๋ค. ๊ทธ๋ฆฌ๊ณ ์ฃผ์๋ฅผ ์ ํํ๋ฉด


์๋์ผ๋ก ๋ฐ์๋๋ค.