如果满足某个条件,是否有方法仅向React组件添加属性
我应该在渲染后基于Ajax调用添加必需和只读属性以形成元素,但我不知道如何解决这个问题,因为readOnly=";假与完全忽略属性不同
下面的例子应该解释我想要什么,但它不起作用
(分析错误:意外标识符)
var React=require('React');
var MyOwnInput=React.createClass({
渲染:函数(){
返回(
<;div>;
<;input type=";text";onChange={this.changeValue}value={this.getValue()}name={this.props.name}/>;
<;/div>;
);
}
});
module.exports=React.createClass({
getInitialState:函数(){
返回{
isRequired:错误
}
},
componentDidMount:函数(){
这是我的国家({
isRequired:是的
});
},
渲染:函数(){
var isRequired=this.state.isRequired;
返回(
<;MyOwnInput name=";test";{isRequired?";required";:";}/>;
);
}
});
显然,对于某些属性,如果传递给它的值不真实,React足够智能,可以忽略该属性。例如:
常量InputComponent=函数(){
const required=true;
const disabled=false;
返回(
<;input type=";text";disabled={disabled}required={required}/>;
);
}
将导致:
<;输入类型=";“文本”;必需的>;
更新:如果有人想知道这是怎么发生的/为什么发生的,可以在ReactDOM的源代码中找到详细信息,特别是在DOMProperty.js文件的第30行和第167行