我有一个React
组件,需要从其他属性访问该属性。
用例具有唯一标识组件(controlId
)的属性之一。 value
属性需要该ID才能知道从props
中显示什么,而onChange
属性需要该ID来告诉父组件如何更新。
当前,我可以在所有三个位置对ID进行硬编码。
<Input
controlId={"someName"}
value={this.props.fieldData["someName"]}
onChange={(evnt) => this.props.handleFieldUpdate(evnt, "someName")}
/>
我有许多类似的组件,并且在多个位置对诸如"someName"
之类的字符串进行硬编码既繁琐又容易出错。是否可以通过controlId
和onChange
属性访问value
属性?
答案 0 :(得分:1)
使用event.target访问元素的属性。 如果要访问controlId,可以使用event.target.controlId
<Input controlId={"some_name"} onChange={event => this.props.someFunc(event.target.controlId)}/>