Я хотел бы знать, есть ли лучший способ условно передать опору, чем использовать оператор if.Реагировать: inline условно передать опору компоненту
Например, прямо сейчас у меня есть:
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 />
);
}
}
});
Есть ли способ, чтобы написать это без Условный оператор? Я думал что-то вдоль линий типа рядных, если-заявления в 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' также? Кроме того, вы имели в виду сказать ' ' вместо ' '? –
@ JimSkerritt Я не путал реквизит, хотя я знаю, что это выглядит так. Я пытаюсь использовать ['реакция-bootstrap-table'] (http://allenfang.github.io/react-bootstrap-table/example.html), и это тот формат, который они используют. Я не уверен, что код «Child» действительно имеет значение для того, что я прошу, поэтому я его не включил. Я действительно просто ищу способ опционально передать или не передать подсказку «Child», которая не требует наличия большого количества аналогичного кода в if-statement в «Parent». –
Gotcha, просто проверяю :) У меня будет ответ для вас в ближайшее время –