Existe uma maneira de adicionar atributos apenas a um componente React se uma determinada condição for atendida?
Eu devo adicionar os atributos obrigatório e readOnly para formar elementos com base em uma chamada Ajax após a renderização, mas não consigo ver como resolver isso, pois readOnly = "false" não é o mesmo que omitir o atributo completamente.
O exemplo abaixo deve explicar o que eu quero, mas não funcionará (Erro de análise: identificador inesperado).
var React = require('React');
var MyOwnInput = React.createClass({
render: function () {
return (
<div>
<input type="text" onChange={this.changeValue} value={this.getValue()} name={this.props.name}/>
</div>
);
}
});
module.exports = React.createClass({
getInitialState: function () {
return {
isRequired: false
}
},
componentDidMount: function () {
this.setState({
isRequired: true
});
},
render: function () {
var isRequired = this.state.isRequired;
return (
<MyOwnInput name="test" {isRequired ? "required" : ""} />
);
}
});
aria-modal=true
, você envia as alterações (para false) para o armazenamento de atributos aria / data , mas nada mais é alterado (como o conteúdo, a classe ou as variáveis do componente), pois o ReactJs não atualiza a ária / dados atraem nesses componentes. Eu estive brincando o dia inteiro para perceber isso.