javascript - 如果定义了所有属性,则将变量设置为 true

标签 javascript reactjs jsx

如果定义了渲染组件的所有必需属性,将变量设置为 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 in ComponentToBeRendered.'

最佳答案

注意:删除 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/

相关文章:

javascript - 将 Mongoose 播种脚本变成 promise

javascript - ReactJS 可以在 Bootstrap 中返回 div 吗?

reactjs - 如果表单中的输入之一错误,则会打印所有错误消息-React Form

javascript - 使用 Typescript 时无法从单独的文件导入 React JSX

reactjs - 预期属性简写

javascript - window.open(url).print() 在 Safari 中不起作用

javascript - 三个JS : Text Sprite's font size difference between WebGL renderer and Canvas renderer

javascript - AngularJS:当变量变为指令时触发 Controller 函数

javascript - React - 从 JSON 响应动态设置背景图像

javascript - 对于使用 React context API 来说这是一个好的设计吗