Tôi muốn biết nếu có một cách tốt hơn để có điều kiện vượt qua một prop hơn bằng cách sử dụng một tuyên bố nếu.React: inline điều kiện vượt qua prop để thành phần
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 những dòng này mà không có sự if-tuyên bố? Tôi đã suy nghĩ một cái gì đó dọc theo dòng của một loại inline-nếu-tuyên bố 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}
/>
);
}
});
Để quấn-up: Tôi đang cố gắng để tìm một cách để xác định một chỗ dựa cho Child
chuyền, tuy nhiên một giá trị (hoặc làm điều gì đó khác) sao cho Child
vẫn kéo giá trị của giá trị đó từ số của riêng mình getDefaultProps()
.
Bạn có thể đưa mã cho 'Child' không? Ngoài ra, bạn có nghĩa là để nói ' ' thay vì ' '? –
@JimSkerritt Tôi không nhầm lẫn các đạo cụ, mặc dù tôi biết nó trông như vậy. Tôi đang cố gắng sử dụng ['phản ứng-bootstrap-table'] (http://allenfang.github.io/react-bootstrap-table/example.html) và đó là định dạng mà họ sử dụng. Tôi không chắc chắn mã 'Child' thực sự quan trọng đối với những gì tôi hỏi, đó là lý do tại sao tôi không đưa nó vào. Tôi thực sự chỉ cần tìm một cách để tùy ý vượt qua hoặc không vượt qua một prop để 'Child' mà không đòi hỏi phải có một số lượng lớn các mã tương tự trong if-báo cáo trong' Parent'. –
Gotcha, chỉ cần kiểm tra :) Tôi sẽ có câu trả lời cho bạn ngay –