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
state값을 사용하고 handler를 통해 변경해주는 법 (controlled Component)
<input value={state} onClick={()=>{}} />
컴포넌트 안에 DOM handler를 사용하는 법 (uncontrolled Component)
<input ref={ref} defaultValue="default value" />
controlled Component를 사용하면 React에 의해 처리되지만,
uncontrolled Component를 사용하면 Dom자체에 의해 처리됨.
<input value={state} onClick={onClick} />
ref.current.value
로 값을 제어하게 됨. function App() {
const [firstName, setFirstName] = useState('Default value');
const ref = useRef(null);
const handleClick = () => {
console.log(ref.current.value);
};
return (
<div>
{/* 👇️ for a controlled input field */}
<input
value={firstName}
onChange={event => setFirstName(event.target.value)}
/>
{/* 👇️ for a controlled input field */}
<input ref={ref} defaultValue="My default value" />
<button onClick={handleClick}>Click</button>
</div>
);
}