Есть ли способ добавить атрибуты в компонент React, только если выполняется определенное условие?
Я должен добавить обязательные атрибуты и атрибуты readOnly для элементов формы на основе вызова Ajax после рендеринга, но я не вижу, как это решить, поскольку readOnly = "false" - это не то же самое, что полное исключение атрибута.
Пример ниже должен объяснить, что я хочу, но это не сработает (Ошибка разбора: неожиданный идентификатор).
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
, вы помещаете изменения (в false) в хранилище атрибутов aria / data , но ничего больше не изменяется (например, содержимое компонента или класс или переменные в нем), так как в результате ReactJ не будет обновлять aria / атрибуты данных в этих компонентах. Я целый день возился с этим, чтобы понять это.