我可能不需要重构此代码,但是现在我很好奇该怎么做。

  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
})


您可以将对象包装在括号中,而不用返回。

09-13 09:51