简体   繁体   English

ReactJS错误:“预期分配或函数调用,而是看到了一个表达式”

[英]ReactJS error: “Expected an assignment or function call and instead saw an expression”

I have below Menu Component which i am trying to refactor inside the below Map function 我在下面的菜单组件中尝试在以下Map函数中进行重构

I want to render add the tag <i class="fa fa-fw fa-user"></i> when m.menuLabel is equal to "Login" but I am getting below error m.menuLabel等于“ Login”时,我想渲染添加标签<i class="fa fa-fw fa-user"></i> ,但出现错误

"Expected an assignment or function call and instead saw an expression" “预期了一个赋值或函数调用,而是看到了一个表达式”

import React from 'react';
import { Link } from 'react-router-dom';

const MENUDATA = [
    { menuLink: "/", menuLabel: "Home" },
    { menuLink: "/products", menuLabel: "Products" },
    { menuLink: "/test", menuLabel: "404" },
    { menuLink: "/login", menuLabel: "Login" }
];

function Menu(props) {
    return (
        <nav class="navbar bg-faded">
            <div class="container">
                <ul class="navbar-nav mr-auto">

                    {MENUDATA.map(m => {

                        if (m.menuLabel == "Login") {
                            <li class="nav-item active" key={m.menuLabel}>
                                <Link class="nav-link" to={m.menuLink}>
                                    <i class="fa fa-fw fa-user"></i>
                                    {m.menuLabel}
                                </Link>
                            </li>
                        }
                        else {
                            <li class="nav-item active" key={m.menuLabel}>
                                <Link class="nav-link" to={m.menuLink}>
                                    {m.menuLabel}
                                </Link>
                            </li>
                        }

                    })}
                </ul>
            </div>
        </nav>
    );
}

export default Menu;

you forgot to return value from map 您忘记了从地图返回价值

<ul class="navbar-nav mr-auto">
   {MENUDATA.map(m => {

        if (m.menuLabel == "Login") {
            return <li class="nav-item active" key={m.menuLabel}>
                <Link class="nav-link" to={m.menuLink}>
                    <i class="fa fa-fw fa-user"></i>
                    {m.menuLabel}
                </Link>
            </li>
        }
        else {
            return <li class="nav-item active" key={m.menuLabel}>
                <Link class="nav-link" to={m.menuLink}>
                    {m.menuLabel}
                </Link>
            </li>
        }

    })}
</ul>

you should return a jsx element with map method : 您应该使用map方法返回一个jsx元素:

import React from 'react';
import { Link } from 'react-router-dom';

const MENUDATA = [
    { menuLink: "/", menuLabel: "Home" },
    { menuLink: "/products", menuLabel: "Products" },
    { menuLink: "/test", menuLabel: "404" },
    { menuLink: "/login", menuLabel: "Login" }
];

function Menu(props) {
    return (
        <nav class="navbar bg-faded">
            <div class="container">
                <ul class="navbar-nav mr-auto">

                    {MENUDATA.map(m => {

                        return(m.menuLabel == "Login"?(<li class="nav-item active" 
                                 key={m.menuLabel}>
                                <Link class="nav-link" to={m.menuLink}>
                                    <i class="fa fa-fw fa-user"></i>
                                    {m.menuLabel}
                                </Link>
                            </li>)

                         :(<li class="nav-item active" key={m.menuLabel}>
                                <Link class="nav-link" to={m.menuLink}>
                                    {m.menuLabel}
                                </Link>
                            </li>))
                        }

                    )}
                </ul>
            </div>
        </nav>
    );
}

export default Menu;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在reactjs中修复“预期的分配或函数调用,而看到一个表达式”? - How to fix “Expected an assignment or function call and instead saw an expression” in reactjs? ReactJS 错误:“__”未定义 &amp; 预期分配或 function 调用,而是看到一个表达式? - ReactJS errors: “__” is not defined & Expected an assignment or function call and instead saw an expression? 期望赋值或函数调用,但在函数中看到表达式错误 - Expected an assignment or function call and instead saw an expression error in function 期望一个赋值或函数调用,而是看到一个表达式? - Expected an assignment or function call and instead saw an expression? 期望赋值或函数调用,而是看到了一个表达式 - Expected an assignment or function call and instead saw an expression 期望一个赋值或函数调用,而是看到一个表达式 - Expected an assignment or function call and instead saw an expression 反应错误 [期望赋值或函数调用,而是看到一个表达式] - React error [Expected an assignment or function call and instead saw an expression] 语法错误(预期分配或函数调用,而是看到一个表达式) - Syntax Error (Expected an assignment or function call and instead saw an expression) 错误预期分配或函数调用,而是看到一个表达式 - Error-Expected an assignment or function call and instead saw an expression Eslint 错误:'预期分配或 function 调用,而是看到一个表达式' - Eslint Error: 'Expected an assignment or function call and instead saw an expression'
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM