Tôi muốn biết liệu có cách nào tốt hơn để chuyển một mệnh đề có điều kiện hơn là sử dụng câu lệnh if.
Ví dụ, ngay bây giờ tôi có:
var parent = React.createClass({
propTypes: {
editable: React.PropTypes.bool.isRequired,
editableOpts: React.PropTypes.shape({...})
},
render: function() {
if(this.props.editable) {
return (
<Child editable={this.props.editableOpts} />
);
} else {
// In this case, Child will use the editableOpts from its own getDefaultProps()
return (
<Child />
);
}
}
});
Có cách nào để viết điều này mà không cần câu lệnh if không? Tôi đang suy nghĩ điều gì đó dọc theo dòng của một loại câu lệnh nội tuyến-if-trong JSX:
var parent = React.createClass({
propTypes: {
editable: React.PropTypes.bool.isRequired,
editableOpts: React.PropTypes.shape({...})
},
render: function() {
return (
<Child
{this.props.editable ? editable={this.props.editableOpts} : null}
/>
);
}
});
Tóm lại : Tôi đang cố gắng tìm cách xác định một điểm hỗ trợ Child
, nhưng chuyển một giá trị (hoặc làm điều gì đó khác) để Child
vẫn lấy giá trị của điểm hỗ trợ đó từ giá trị Child
của chính nó getDefaultProps()
.
Child
không? Ngoài ra, bạn có ý định nói<Child editableOpts={this.props.editableOpts} />
thay vì<Child editable={this.props.editableOpts} />
?