반응형
Controlled components (useState)
import React, { useState } from "react";
export default function App() {
const [inputValue, setInputValue] = useState("");
const handleInputChange = (e) => {
setInputValue(e.target.value)
}
const handleSubmitButton = () => {
alert(inputValue);
};
return (
<div className="App">
<input value={inputValue} onChange={handleInputChange} />
<input type="submit" value="submit" onClick={handleSubmitButton} />
</div>
);
}
Uncontrolled components (useRef)
import React, { useRef } from "react";
export default function App() {
const inputRef = useRef(null);
const handleSubmitButton = () => {
alert(inputRef.current.value);
};
return (
<div className="App">
<input type="text" ref={inputRef} />
<input type="submit" value="submit" onClick={handleSubmitButton} />
</div>
);
}
아래와 같을 때 controlled component 사용
- 유효한 문자인지 확인하기 위해 입력 할 때 항상 입력 값을 알아야하는 양식 유효성 검사
- 신용 카드 입력과 같은 특정 형식이있는 경우
그러나 그 중 어느 것도 필요하지 않고 Uncontrolled components이 더 간단 할 것이라고 생각한다면 Uncontrolled components 사용하기!
'React' 카테고리의 다른 글
Netlify로 react 프로젝트 배포하기 (0) | 2021.03.03 |
---|---|
react 프로젝트, 크로스브라우징 대응하기 (0) | 2021.03.02 |
React 프로젝트 진행시 API_key 숨기기 (0) | 2021.02.14 |
[React 강의노트] react router (0) | 2021.01.02 |
API 연동하기 (useState, useEffect, useReducer) (0) | 2020.12.24 |