React JSX - 动态 html 属性

cod*_*erz 6 jsx reactjs react-jsx

在 JSX 中,我们可以动态地指示属性值,例如:

<div className={this.state.className}>This is a div.</div>
Run Code Online (Sandbox Code Playgroud)

是否可以动态指示属性(包括属性名称和属性值)?喜欢:

const value = emptyValue ? "" : "value='test'";
<input {value} />
Run Code Online (Sandbox Code Playgroud)

这意味着,一旦emptyValue为真,“输入”标签不应包含“值”属性(值=“”与没有值属性不同,因为一个在输入字段中显示为空,另一个在输入字段中显示现有文本)。

小智 6

ES6 对象扩展仅适用于对象。因此,要生成动态属性,请尝试以下操作:

const value = emptyValue ? {} : { value: 'test' }
<a  {...value} ></a>
Run Code Online (Sandbox Code Playgroud)

注意value永远是一个对象。