MIKAEELS>_

Difference between controlled and uncontrolled components in React.js

Advertisement

Difference between controlled and uncontrolled components in React.js

Uncontrolled Component

An uncontrolled component is similar to a traditional HTML form input element. You can get the value of the input by accessing the reference to the input.

import { useRef } from "react"; const Uncontrolled = () => { const inputRef = useRef(null); const handleSubmit = (e) => { e.preventDefault(); console.log(inputRef.current.value); }; return ( <form> <input type="text" ref={inputRef} /> <button onClick={handleSubmit}>Submit</button> </form> ); }; export default Uncontrolled;

Controlled Component

On the other hand, we have a controlled component. Rather than accessing the value of the input through the reference of the element, we can store the value in React state.

import { useState } from "react"; const Controlled = () => { const [inputText, setInputText] = useState(""); const handleSubmit = (e) => { e.preventDefault(); console.log(inputText); }; return ( <form> <input type="text" value={inputText} onChange={(e) => setInputText(e.target.value)} /> <button onClick={handleSubmit}>Submit</button> </form> ); }; export default Controlled;
Advertisement

Comments

Share your thoughts and questions below