Có cách nào để chỉ thêm thuộc tính vào thành phần React nếu một điều kiện nhất định được đáp ứng không?
Tôi phải thêm các thuộc tính bắt buộc và readOnly để tạo thành các phần tử dựa trên lệnh gọi Ajax sau khi kết xuất, nhưng tôi không thể thấy cách giải quyết điều này vì readOnly = "false" không giống như bỏ hoàn toàn thuộc tính.
Ví dụ dưới đây sẽ giải thích những gì tôi muốn, nhưng nó sẽ không hoạt động (Lỗi phân tích: Định danh không mong đợi).
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
, bạn đẩy các thay đổi (thành false) vào kho lưu trữ các thuộc tính aria / dữ liệu , nhưng không có gì khác được thay đổi (chẳng hạn như nội dung hoặc lớp hoặc các biến trong đó) vì ReactJs sẽ không cập nhật aria / dữ liệu attrs trong các thành phần đó. Tôi đã loay hoay cả ngày để nhận ra điều đó.