React의 통제되지 않은 구성 요소는 구성 요소의 상태가 관리하는 대신 양식 데이터를 DOM 자체에 의해 처리하는 구성 요소입니다. 통제되지 않은 구성 요소를 만들려면 다음 단계를 따릅니다.
defaultValue
Prop : value
사용하여 양식 요소의 초기 값을 설정하는 대신 defaultValue
사용합니다. 예를 들어 입력 필드의 경우 다음을 수행합니다.
<code class="jsx"><input type="text" defaultvalue="Initial Value"></code>
Refs를 통해 데이터 액세스 : 데이터는 React의 상태에서 관리되지 않으므로 필요할 때 현재 값에 액세스 할 수있는 방법이 필요합니다. React의 ref
시스템을 사용하여 DOM 노드에 대한 참조를 만듭니다. 당신이하는 방법은 다음과 같습니다.
<code class="jsx">class UncontrolledForm extends React.Component { constructor(props) { super(props); this.inputRef = React.createRef(); } handleSubmit = (event) => { event.preventDefault(); console.log('Input Value:', this.inputRef.current.value); } render() { return ( <form onsubmit="{this.handleSubmit}"> <input type="text" defaultvalue="Initial Value" ref="{this.inputRef}"> <button type="submit">Submit</button> </form> ); } }</code>
이 단계를 수행하면 React에서 통제되지 않은 구성 요소를 만들 수 있으며, 여기서 양식 데이터는 DOM에 의해 직접 처리됩니다.
React Applications에서 제어되지 않은 구성 요소를 사용하면 몇 가지 이점이 있습니다.
React에서 통제되지 않은 구성 요소의 값에 액세스하려면 일반적으로 ref
시스템을 사용합니다. 당신이 할 수있는 방법은 다음과 같습니다.
REF 생성 : 구성 요소에서 React.createRef()
또는 기능적 구성 요소의 useRef
후크를 사용하여 심판을 만듭니다.
<code class="jsx">// In a class component constructor(props) { super(props); this.inputRef = React.createRef(); } // In a functional component const inputRef = useRef(null);</code>
Ref를 DOM 요소에 연결하십시오 . 양식 요소를 렌더링 할 때 ref
를 전달하십시오.
<code class="jsx">// Class component <input type="text" defaultvalue="Initial Value" ref="{this.inputRef}"> // Functional component <input type="text" defaultvalue="Initial Value" ref="{inputRef}"></code>
값 액세스 : 양식 제출 또는 기타 이벤트와 같이 필요할 때 제어되지 않은 구성 요소의 값에 액세스 할 수 있습니다. ref.current.value
사용하여 현재 값을 얻으십시오.
<code class="jsx">// In a class component handleSubmit = (event) => { event.preventDefault(); console.log('Input Value:', this.inputRef.current.value); } // In a functional component const handleSubmit = (event) => { event.preventDefault(); console.log('Input Value:', inputRef.current.value); }</code>
이 단계를 수행하면 React에서 제어되지 않은 구성 요소의 값에 효과적으로 액세스 할 수 있습니다.
제어되지 않은 구성 요소와 제어되지 않은 구성 요소 중에서 선택하는 것은 프로젝트의 특정 요구와 복잡성에 따라 다릅니다. 통제되지 않은 구성 요소를 선호하는 몇 가지 시나리오는 다음과 같습니다.
일반적으로 양식 데이터 및 유효성 검사를 더 많이 제어 해야하는 경우 제어 된 구성 요소가 더 나은 선택입니다. 그러나 간단하거나 성능이 높은 시나리오의 경우 통제되지 않은 구성 요소가 적합 할 수 있습니다.
위 내용은 React에서 통제되지 않은 구성 요소를 어떻게 생성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!