Я хотів би знати, чи є кращий спосіб умовно передати опис, ніж використання оператора if.
Наприклад, зараз у мене є:
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 />
);
}
}
});
Чи є спосіб написати це без оператора if? Я думав щось подібне до типу вбудованого-якщо-висловлювання в 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}
/>
);
}
});
Для підведення підсумків : Я намагаюся знайти спосіб визначити опору Child
, але передаю значення (або роблю щось інше), яке Child
все одно витягує значення цього реквізиту з Child
власного getDefaultProps()
.
Child
? Крім того, ви мали намір сказати<Child editableOpts={this.props.editableOpts} />
замість<Child editable={this.props.editableOpts} />
?