React:内联有条件地将 prop 传递给组件
2022-08-30 04:21:59
我想知道是否有比使用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中的一种内联if语句进行思考:
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}
/>
);
}
});
总结一下:我试图找到一种方法来定义一个 prop,但传递一个值(或做其他事情),这样仍然从 自己的 中拉取该 prop 的值。Child
Child
Child
getDefaultProps()