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. 에러

Blackeichi·2022년 11월 2일
0
post-custom-banner

개발을 하던 중, onSubmit이 완료되면 input의 value를 초기화하는 코드를 작성하엿는데, 아래와 같은 에러가 발생하였다.

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.

이 에러는 input태그 사용 시, value속성이 고정값이 아니면 발생하는 에러라고 한다.

이 에러는 value대신 defaltValue를 사용하면 해결이 된다.

const [text, setText] = useState("");
const onSubmit = async (event: any) => {
....
setText("");
}
.................
			<TextForm
                onSubmit={onSubmit}
                onChange={onChange}
              >
                <InputText value={text} />
                <TextBtn>보내기</TextBtn>
              </TextForm>

에러 발생
--->

const [text, setText] = useState("");
const onSubmit = async (event: any) => {
....
setText("");
}
.................
			<TextForm
                onSubmit={onSubmit}
                onChange={onChange}
              >
                <InputText value={text} />
                <TextBtn>보내기</TextBtn>
              </TextForm>

에러 없음!👍

profile
프론트엔드 주니어 개발자 한정우입니다. 😁
post-custom-banner

0개의 댓글