Gibt es eine Möglichkeit, einer React-Komponente nur Attribute hinzuzufügen, wenn eine bestimmte Bedingung erfüllt ist?
Ich sollte erforderliche und readOnly-Attribute hinzufügen, um Elemente zu bilden, die auf einem Ajax-Aufruf nach dem Rendern basieren, aber ich kann nicht sehen, wie dies gelöst werden kann, da readOnly = "false" nicht dasselbe ist wie das vollständige Weglassen des Attributs.
Das folgende Beispiel sollte erklären, was ich will, aber es wird nicht funktionieren (Analysefehler: Unerwarteter Bezeichner).
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
hat. Sie verschieben die Änderungen (auf false) in den Speicher der Arien- / Datenattribute, aber nichts anderes wird geändert (wie der Inhalt oder die Klasse oder die Variablen der Komponente darin), da ReactJs aria / nicht aktualisiert . Daten attrs dass Komponenten. Ich habe den ganzen Tag herumgespielt, um das zu realisieren.