Existe-t-il un moyen d'ajouter des attributs à un composant React uniquement si une certaine condition est remplie?
Je suis censé ajouter des attributs requis et readOnly pour former des éléments basés sur un appel Ajax après le rendu, mais je ne vois pas comment résoudre ce problème car readOnly = "false" n'est pas la même chose que d'omettre complètement l'attribut.
L'exemple ci-dessous devrait expliquer ce que je veux, mais cela ne fonctionnera pas (erreur d'analyse: identifiant inattendu).
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
, vous poussez les modifications (sur false) dans le magasin d' attributs aria / data , mais rien d'autre n'est modifié (comme le contenu ou la classe du composant ou les variables dedans) car le résultat ReactJs ne mettra pas à jour aria / attrs de données dans ces composants. J'ai déconné toute la journée pour le réaliser.