ReactJS中的动态属性
我想动态地在按钮元素上包含/忽略Disabled属性。我已经看到了许多有关动态属性值的示例,但没有看到属性本身的示例。我有以下渲染功能:
render: function() { var maybeDisabled = AppStore.cartIsEmpty() ? "disabled" : "";
return <button {maybeDisabled}>Clear cart</button>
}
由于有“ {”字符,这将引发分析错误。如何基于AppStore.cartIsEmpty()的(布尔值)结果包含/忽略禁用的属性?
回答:
添加可选属性(包括disabled
和其他可能要使用的其他属性)的最简洁方法是当前使用JSX传播属性:
var Hello = React.createClass({ render: function() {
var opts = {};
if (this.props.disabled) {
opts['disabled'] = 'disabled';
}
return <button {...opts}>Hello {this.props.name}</button>;
}
});
React.render((<div><Hello name="Disabled" disabled='true' />
<Hello name="Enabled" />
</div>)
, document.getElementById('container'));
通过使用传播属性,您可以使用javascript对象实例动态添加(或覆盖)所需的任何属性。在上面的示例中,当属性传递给组件实例时,代码创建了一个disabled
键(disabled
在这种情况下为值)。disabled``Hello
以上是 ReactJS中的动态属性 的全部内容, 来源链接: utcz.com/qa/433092.html