답변:
이것은 상태 저장 DOM 구성 요소 (양식 요소)와 관련이 있으며 React 문서는 차이점을 설명합니다.
props
에 통지 변경 등을 통해 콜백 onChange
. 부모 구성 요소는 콜백을 처리하고 자체 상태를 관리하고 제어 된 구성 요소에 소품으로 새 값을 전달하여 "제어"합니다. 이것을 "dumb component"라고 부를 수도 있습니다.ref
당신이 그것을 필요로 할 때 현재 값을 찾을 수 있습니다. 이것은 전통적인 HTML과 좀 더 비슷합니다.대부분의 기본 React 양식 구성 요소는 제어 및 제어되지 않은 사용을 모두 지원합니다.
// Controlled:
<input type="text" value={value} onChange={handleChange} />
// Uncontrolled:
<input type="text" defaultValue="foo" ref={inputRef} />
// Use `inputRef.current.value` to read the current value of <input>
대부분 (또는 모든) 경우에 제어 된 구성 요소를 사용해야합니다 .
state
아니라 오히려 받아 들여지지 props
않습니까?
props
. 제어되지 않는 구성 요소는 state
내부적으로 값 자체를 제어하는 데 사용 됩니다. 이것이 주요 차이점입니다.
controlled components
( <input type="text" value="value" onChange={handleChangeCallbackFn} />
)와 입력 요소가 자체 값을 처리하고 refs
호출 된 uncontrolled components
( <value type="text" />
)을 통해 읽을 수있는 기존 HTML과 비교 됩니다. 제어되는 구성 요소는 setState
부모 구성 요소를 통해 자체 상태를 관리 하거나 소품으로 가져옵니다.
defaultValue
소품 을 통해 가져 오지만 컨트롤러에 알리는 구성 요소를 어떻게 호출 onBlur
합니까?