如果定义了渲染组件的所有必需属性,将变量设置为 true 的最简单方法是什么?
例如:
renderThing() {
const {
bookState,
totalPrice,
agentWebPriceDelta,
numberOfChargeablePassengers,
} = this.props;
const requiredProps = bookState !== 'undefined' && totalPrice !== 'undefined' && agentWebPriceDelta !== 'undefined' && numberOfChargeablePassengers !== 'undefined';
return requiredProps && (
<ComponentToBeRendered
...
/>
);
}
}
这是为了阻止出现如下错误:
Required prop
totalPrice
was not specified inComponentToBeRendered
.'
最佳答案
注意:删除 undefined
两边的引号:
const requiredProps = bookState !== undefined && totalPrice !== undefined && agentWebPriceDelta !== undefined && numberOfChargeablePassengers !== undefined;
您还可以使用Array.prototype.reduce 像这样(不确定是否更具可读性):
const requiredProps = [
bookState,
totalPrice,
agentWebPriceDelta,
numberOfChargeablePassengers
].reduce((prev, value) => prev && value !== undefined, true);
关于javascript - 如果定义了所有属性,则将变量设置为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43324094/