Есть ли разница между этими двумя подходами, кроме «организации кода»?HOC vs Wrapper in render function
У меня есть куча пользовательских входных elemts, как TextInput, и т.д. Ввод числа
Я использую их непосредственно
const TextInput = (props) => <input type="text" {...props} />
const App = (mainProps) => <div>
<TextInput {...props} errors={['error text']} />
</div>
и я FormInput компонент, который инкапсулирует сообщения об ошибках визуализации для любого входного компонента.
const FormInput = (props) => <div>
// Render input here
<span>{props.errors.join(', ')}</span>
</div>
Я вижу две разные реализации 1) HOC
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>