https://reactjs-kr.firebaseapp.com/docs/uncontrolled-components.html
https://blog.logrocket.com/controlled-vs-uncontrolled-components-in-react/
https://bobbyhadz.com/blog/react-set-default-value-of-input
리액트에서 form의 value를 관리하기 위한 두 가지 방식이 있다.
1. controlled Component - react의 state와 통합된 폼 컨트롤
<input value={state} onClick={()=>{}} />
2. uncontrolled Component - useRef를 이용하여 DOM을 다루는 방식
<input ref={ref} defaultValue="default value" />
function App() {
// Controlled Component 상태 관리
const [firstName, setFirstName] = useState('Default value');
// Uncontrolled Component 참조
const ref = useRef(null);
const handleClick = () => {
console.log(ref.current.value);
};
return (
<div>
{/* 👇️ Controlled Component */}
<input
type="text"
value={firstName}
onChange={event => setFirstName(event.target.value)}
/>
<p>Controlled Value: {firstName}</p>
{/* 👇️ Uncontrolled Component */}
<input
type="text"
ref={ref}
defaultValue="My default value"
/>
<button onClick={handleClick}>Log Uncontrolled Value</button>
</div>
);
}
export default App;
{/ 👇️ for a controlled input field /} -> {/ 👇️ for a uncontrolled input field /}
인거같아요~!