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 | 31 |
Tags
- Vue
- netlify redirect
- SCSS forward
- postcss
- 리액트
- nextjs사용법
- Spacer
- 쌓임맥락
- git 같은계정 다른 컴퓨터
- 프로그래머스 데브코스
- SCSS extend
- KDT 프로그래머스 데브코스 프론트엔드
- vue mixin
- KDT 프로그래머스
- vue 지역 컴포넌트
- vue 이벤트 수신
- 프로그래머스 K_Digital Training
- intersection opserver
- flex
- 리스트 렌더링
- 고양이 사진 검색기
- SCSS import
- react next
- 폼 입력 바인딩
- 이벤트 수식어
- 프로그래머스 데브코스 프론트엔드
- 프로그래머스 프론트엔드 데브코스
- 다른컴퓨터에서 git사용
- vuex map
- SCSS use
Archives
- Today
- Total
혼자 적어보는 노트
[React] input warning / defaultValue / readOnly 본문
Warning: You provided a `value` prop to a form field without an `onChange` handler.
input을 다루게 될 때 위와 같은 warning메세지를 보곤 한다.
<input>태그 사용시 value속성이 고정값이 아니기 때문에 생기는 경고 메세지이다.
defaultValue를 사용하던지, readOnly를 사용하던지, onChange를 사용하면된다.
몇가지 테스트를 진행해보았다.
사용자로부터 값을 변경시키지 않을때,
<input type="tel" value={item.quan} readOnly />
사용자를 통해 변경을 하는게 아닌
설정해놓은 이벤트로 인해 동적으로 값을 변경 하는 상황이다.
그럴 땐 변화되지 않게 readOnly 속성을 넣으면 경고 메세지가 사라진다.
사용자부터 값을 변경 시킬 때
<input type="text" defaultValue={inputValue} />
이런식으로 defaultValue속성에 값을 넣어주면 된다.
하지만 defaultValue에 변수를 넣을 경우
외부 이벤트를 통해 값이 변경되지 않는 문제가 발생한다.
변수를 적용하여 이벤트를 통해 변경을 하고싶고
사용자가 값을 변경할 수 있게 하고 싶다면?
onChange사용
const [inputValue, setInputValue] = useState("");
const inputChange = (event) => {
setInputValue(event.target.value);
};
<input type="text" value={inputValue} onChange={(event) => inputChange(event)} />
onChange를 함께 사용하고
inputValue값은 onChange로 제어하면 된다.
'React' 카테고리의 다른 글
[React] 부모 state변경 시 자식 컴포넌트 rerender (0) | 2021.12.21 |
---|---|
[React] 오늘 하루 안보기/ 24시간 동안 안보기 팝업 구현 (0) | 2021.12.20 |
[React] 비동기 setState 연속 처리 시 오류 (0) | 2021.12.15 |
[React] input focus감지 / 영역 밖 클릭 시 이벤트 (0) | 2021.12.14 |
[React] key를 사용해야하는 이유 (0) | 2021.12.13 |
Comments