首页 > 解决方案 > 期望一个赋值或函数调用,而是看到一个表达式 no-unused-expressions?

问题描述

import { Route, Redirect } from 'react-router-dom';
import React, { useContext } from 'react';

import AuthContext from '../contexts/AuthContext';

function PrivateRoute({ children, ...rest }) {
    const auth = useContext(AuthContext);

    return(
        <Route
        {...rest}
        render={({ location }) => {
            auth.token ? (
                children
            ) : (
                <Redirect
                to={{
                    pathname: '/login',
                    state: { from: location },
            }}
          />
        )
      }} 
    />
  )
}

export default PrivateRoute;

期望一个赋值或函数调用,而是看到一个表达式 no-unused-expressions。我做错了什么

13:13 出错

  auth.token ? (

标签: javascriptreactjs

解决方案


您需要返回三元运算符。

return auth.token ? (
            children
        ) : (
            <Redirect
            to={{
                pathname: '/login',
                state: { from: location },
        }}

推荐阅读