javascript - 如何用三元运算符重构它?

标签 javascript reactjs

我可能不需要重构这段代码,但现在我只是好奇如何去做。

  handleError: ({ error, email, password }, props) => authError => {
    if (email === "" || password === "") {
      return {
        error: `Fields can't be empty`
      };
    } else {
      return {
        error: authError
      };
    }
  }

这不提供与上面代码相​​同的功能:

  handleError: ({ error, email, password }, props) => authError => {
    email === "" || password === ""
      ? { error: `Fields can't be empty` }
      : { error: authError };
  }

最佳答案

您不需要任何返回。由于唯一的条件逻辑是消息,因此可以简化如下。

handleError: ({ error, email, password }, props) => (authError) => ({
  error: email === "" || password === "" ? `Fields can't be empty` : authError
})

您可以将对象括在括号中而不是返回。

关于javascript - 如何用三元运算符重构它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51832530/

相关文章:

javascript - node.js - 合并回调结果

javascript - 在 Laravel 5.1 中通过 ajax 提交表单

reactjs - 当输入位于 map 函数内部时,如何获取 onChange 输入的值

javascript - 服务器端渲染中未定义 React Context

javascript - React Native 热重载导致升级后完全重载

javascript - 如何安全地使用对象中的变量?

javascript - 使用for循环在HTML div中显示JSON内容

javascript - JScript 语法验证器?

javascript - React Redux 存储将 props 传递给 child 的问题

javascript - 通过 ReactJS 中的 .getUserMedia 访问网络摄像头后,单击断开网络摄像头连接