retail-ui
retail-ui copied to clipboard
[react-ui-validations] Добавить HOC withValidation IF-635
Использовать инстанс контейнера для валидации не очень удобно, и это не react-way.
Предлагаю запилить высокоуровневую компоненту withValidation
, со следующим интерфейсом
withValidation(ReactClass<P>): ReactClass<$Diff<P, {onValidate: ValidationHandler}>>
где
type ValidationHandler = () => Promise<boolean>
Тогда мы сможем делать такое
@withValidation
class FormEditor extends Component {
render() {
return (
<Form>
{/* какие-то поля с валидациями */}
<Button onClick={this.props.onValidate}>Validate</Button>
</Form>
)
}
}
// или без декоратор
export default withValidation(FormEditor)
Если что, я могу взяться за эту фичу
Хм. Выглядит круто.
Я конечно, не против. Если начну сам делать -- напишу.
Кажись что-то такое уже сделано в файлике ControlsWithValidations
, правда только в доке и беда с типизацией