降档中的getInputProps

时间:2019-01-08 16:25:36

标签: reactjs downshift

当我使用Downshift渲染输入元素时,这样做是错误的

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

还是我应该更具体地说明对象中将哪些属性传递给getInputProps?

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

随后,在不更改我的源代码控件以专门寻找它的情况下,以后我将不允许我添加其他属性(例如data-testid:controlName

1 个答案:

答案 0 :(得分:1)

根据docs,您应该将所有道具作为输入元素的对象传递。我个人没有使用降档功能,但我可以想象这会起作用(并且总是一种好的做法,就是只传递您所需要的内容而无需额外的“杂乱”):

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

但是,为了更直接地回答您的原始问题,只要对this.props中的属性进行适当标记(即placeholder: placeholderValue),传播this.props不会有任何问题作为getInputProps()的参数。