250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- metamask
- exceljs
- nft
- Laravel
- node
- Ai
- 공연티켓
- git
- nodejs
- Python
- netfunnel
- threejs
- 블록체인
- CSS
- PM2
- 라라벨
- 배포
- chatGPT
- polygon
- nginx
- React
- jquery
- Setting
- Kaikas
- miniconda
- 발행
- 회고
- NextJS
- Remix
- pagination
Archives
- Today
- Total
박주니 개발 정리
A component is changing an uncontrolled input to be controlled. warnning 해결 방법 본문
react
A component is changing an uncontrolled input to be controlled. warnning 해결 방법
박주니 2023. 2. 13. 17:29728x90
반응형
해결 방법
const [adminInfo, setAdminInfo] = useState("");
useEffect(() => {
setAdminInfo(
{name: "user"}
)
}, [])
<input
defaultValue={adminInfo.name || ""}
/>
React default value를 사용하는 이유는 다음과 같습니다.
- 기본값 설정: 만약, 사용자가 입력하지 않았을 경우, 특정 기본값을 표시하기 위해서입니다.
- 초기 폼 상태 설정: 폼을 처음 렌더링할 때, 특정 초기 값을 가지도록 설정하기 위해서입니다.
- 초기 데이터 상태 설정: API를 통해 받은 데이터를 표시할 때, 그 데이터를 기반으로 폼의 초기 상태를 설정하기 위해서입니다.
- 기존 데이터 로딩: 기존에 저장된 데이터를 불러와 폼에 표시할 때, 그 데이터를 기반으로 폼의 초기 상태를 설정하기 위해서입니다.
이와 같은 이유로, React default value는 폼의 초기 상태를 설정하는데 매우 유용한 기능입니다.
다른 방식으로 적용하는 방법 (추천하지는 않음)
useEffect(() => {
document.getElementById("title").value = "hi"
}, [])
<input
id = "title"
/>
추천하지 않은 이유) react를 사용할 때에는 최대한 useState를 활용하는 것이 최적화하는 방식입니다. 순수 자바스크립트로 코드를 구현하다보면 react를 제대로 활용한다고 볼 수 없기 때문에 참고만 해주시면 감사하겠습니다.
728x90
반응형
Comments