TSX Parsing error:Expression expected on arrow function

TSX Parsing error:Expression expected on arrow function

我该如何解决这个错误? TS1109: Expression expected. 我是打字稿的新手,我不明白为什么会弹出错误。 请问有什么建议吗?

  const checkIfUserIsLoggedIn = () : boolean => {
    return if (localStorage.getItem("logged-in") === "true" ) {
      return <LoggedInMp/>
    } else {
      return <NotLoggedInMp/>
    }
  }

您的代码中有一些错误。 if前面的return是错误的,你函数的return类型也可能是off。第一个 return 导致错误,因为需要一个表达式,而 if {} else {} 不是表达式。

const checkIfUserIsLoggedIn = () => {
    if (localStorage.getItem("logged-in") === "true" ) {
      return <LoggedInMp/>;
    } else {
      return <NotLoggedInMp/>;
    }
}

除了已接受的答案之外,您甚至可以将其设为 one-liner:

const checkIfUserIsLoggedIn = () => localStorage.getItem("logged-in") ? <LoggedInMp/> : <NotLoggedInMp/>;