1
"코드 구성"을 제외하고 이러한 두 가지 접근 방식에는 차이점이 있습니까?HOC 대 래퍼 (Wrapper) 렌더링 기능
나는 등의 TextInput, NumberInput,
처럼 그들에게 직접
const TextInput = (props) => <input type="text" {...props} />
const App = (mainProps) => <div>
<TextInput {...props} errors={['error text']} />
</div>
를 사용하고 난 어떤 입력 구성 요소에 대한 렌더링 오류 메시지를 캡슐화 구성 요소를 FormInput 한 사용자 정의 입력 elemts의 무리가 있습니다.
const FormInput = (props) => <div>
// Render input here
<span>{props.errors.join(', ')}</span>
</div>
나는 볼이
const FormInputHOC = (C) => {
const FormInput = (props) => <div>
<C {...props} />
<span>{props.errors.join(', ')}</span>
</div>
}
export default FormInputHOC(TextInput)
2) 래퍼 귀하의 경우에는
const FormInput = (props) => <div>
{props.children}
<span>{props.errors.join(', ')}</span>
</div>
const TextInput = (props) => <FormInput errors={props.errors}>
<input type="text" {...props} />
</FormInput>