TIL - React Forms - 제어 및 제어되지 않는 구성 요소
10530 단어 reactformsjavascriptbeginners
여름
HTML 양식
양식을 제출할 때 키-값 쌍으로 구성됩니다.
<form>
<label for='id'> </label>
<input id='id' type='text' name='key' value='value'>
</form>
HTML에서 사용자는 속성 값의 설정 여부에 관계없이 필드를 수정할 수 있습니다.
React를 사용하면 속성 값이 지정되지 않은 경우에만 필드를 수정할 수 있습니다.
통제되지 않은 필드
-> 입력 필드에 값이 입력되지 않았습니다.
<form<
<label htmlFor="character">Character:</label>
<input
id="character"
name="character"
type="text"
onChange={(event) => {
const input = event.target;
console.log('NAME:', input.name, 'VALUE:',
input.value);
}}
/>
</form>
<label>
for는 JavaScript에서 예약된 키워드입니다. <input>
필드입니다. const handleSubmit = (event) => {
event.preventDefault();
const firstName = event.target.firstName.value;
const lastName = event.target.lastName.value;
// Here we do something with form data
console.log(firstName, lastName)
}
<form onSubmit={handleSubmit}>
<label>
Name:
<input name="firstName" type="text" />
</label>
<label>
Surname:
<input name="lastName" type="text" />
</label>
<input type="submit" value="Submit" />
</form>
위의 제어되지 않는 구성 요소는 다음과 같은 문제를 야기합니다. 값이 상태 수준에 저장되지 않습니다.
통제된 분야
<input>
필드는 값 속성의 <value>
가 그것을 표시하는 구성 요소에 의해 제공될 때 제어된다고 합니다. 일반적으로 이 값은 구성 요소의 상태에서 나옵니다.HTML과 다른 점: React는 value 속성을 통해 필드의 값을 제어합니다.
const EssayForm = () => {
const [ value, setValue ] = useState('');
const handleChange =(event) => { setValue({event.target.value}); }
const handleSubmit= (event) => {
alert('An essay was submitted: ' + value);
event.preventDefault();
}
render() {
return (
<form onSubmit={handleSubmit}>
<label>
Essay:
<textarea value={value} onChange={handleChange} />
</label>
<input type="submit" value="Submit" />
</form>
);
}
}
첫걸음
Reference
이 문제에 관하여(TIL - React Forms - 제어 및 제어되지 않는 구성 요소), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/annequinkenstein/til-react-forms-controlled-uncontrolled-48g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)