当我使用Downshift渲染输入元素时,这样做是错误的
<input {...getInputProps({...this.props})} />
还是我应该更具体地说明对象中将哪些属性传递给getInputProps?
{...getInputProps({placeholder: this.props.placeholder})}
随后,在不更改我的源代码控件以专门寻找它的情况下,以后我将不允许我添加其他属性(例如data-testid:controlName
)
答案 0 :(得分:1)
根据docs,您应该将所有道具作为输入元素的对象传递。我个人没有使用降档功能,但我可以想象这会起作用(并且总是一种好的做法,就是只传递您所需要的内容而无需额外的“杂乱”):
<input {...getInputProps({
placeholder: this.props.placeholder,
data-testid: controlName,
moreProps: this.props.additionalInfo
})} />
但是,为了更直接地回答您的原始问题,只要对this.props
中的属性进行适当标记(即placeholder: placeholderValue
),传播this.props
不会有任何问题作为getInputProps()
的参数。