反应解析意外令牌

时间:2019-12-26 00:39:11

标签: javascript reactjs

我的React代码遇到一些问题。 我正在尝试添加身份验证,但这给了我类似的错误

  

./ src / components / UserInfo / index.js第29行:解析错误:   意外令牌,应为“,”

     

27 | 28 |

     
    

29 | {已认证? (          | ^ 30 | 31 | 32 |
    

  

这是我的代码

import React, { Component } from "react";
import { connect } from "react-redux";
import { Avatar, Popover } from "antd";
import { userSignOut } from "appRedux/actions/Auth";

class UserInfo extends Component {

  render() {
    const { authenticated } = this.props;

    const userMenuOptions = (
      <ul className="gx-user-popover">
        <li>My Account</li>
        <li>Connections</li>
        <li onClick={() => this.props.userSignOut()}>Logout
        </li>
      </ul>
    );

    return (
       {authenticated ? (
              <Popover overlayClassName="gx-popover-horizantal" placement="bottomRight" content={userMenuOptions}
                trigger="click">
                <Avatar src={require("assets/images/w-logo.png")}
                  className="gx-avatar gx-pointer" alt="" />
              </Popover>
            ) : (
                <Popover overlayClassName="gx-popover-horizantal" placement="bottomRight" content={userMenuOptions}
                  trigger="click">
                  <Avatar src={require("assets/images/w-logo.png")}
                    className="gx-avatar gx-pointer" alt="" />
                </Popover>
              )}

    )

  }
}

const mapStateToProps = state => {
  //console.log(state.auth.token);
  return {
    authenticated: state.auth.token !== null,
    locale: state.settings.locale
  }
}





export default connect(mapStateToProps, { userSignOut })(UserInfo);

1 个答案:

答案 0 :(得分:5)

问题出在那一行,因为您要返回

return (
    {authenticated ? (...) : (...)});

这意味着您正在尝试返回一个对象,而这并不是您真正想要的。因此,您应该将其更改为:

return authenticated ? (
          <Popover overlayClassName="gx-popover-horizantal" placement="bottomRight" content={userMenuOptions}
            trigger="click">
            <Avatar src={require("assets/images/w-logo.png")}
              className="gx-avatar gx-pointer" alt="" />
          </Popover>
        ) : (
            <Popover overlayClassName="gx-popover-horizantal" placement="bottomRight" content={userMenuOptions}
              trigger="click">
              <Avatar src={require("assets/images/w-logo.png")}
                className="gx-avatar gx-pointer" alt="" />
            </Popover>
          );