getInputProps в понижении

Когда я рендерим элемент ввода при использовании Downshift, это неправильно делать

<input {...getInputProps({...this.props})} />

или я должен быть более конкретным, в каких атрибутах передаются в объекте getInputProps?

{...getInputProps({placeholder: this.props.placeholder})}

Позднее не позволил бы мне добавить другие атрибуты (например, data-testid:controlName) без изменения моего контроля версий, чтобы специально искать его

1 ответ

Решение

Согласно документации, вы должны передать все реквизиты в качестве объекта для элемента ввода. Я лично не использовал понижающую передачу, но я бы предположил, что это сработает (и всегда полезно пропускать только то, что вам нужно, без дополнительного "беспорядка"):

<input {...getInputProps({
    placeholder: this.props.placeholder,
    data-testid: controlName,
    moreProps: this.props.additionalInfo
})} />

Тем не менее, чтобы быть более прямым к вашему первоначальному вопросу, пока ваши свойства в this.props помечены соответствующим образом (т.е. placeholder: placeholderValue) не должно быть никаких проблем с распространением this.props в качестве параметра для getInputProps(),

Другие вопросы по тегам