为什么我在这个 JSX 片段中得到 "unexpected token"?

Why am I getting "unexpected token" in this snippet of JSX?

我有

    return (
        <p>Sort by:
            <a onClick={this.toggleMenuVisibility}>
                {selectedFilterText} <Chicon className='bubble-trigger-icon' name='downarrow' />
            </a>
        </p>
        { menuIsVisible && this.getMenuItems(productAttributes) }
    );

我得到了非常难以描述的

"Unexpected token"

指向 { menuIsVisible 处的括号。知道问题出在哪里吗?

您不能 return 两个根节点。您需要将 <p> 和 {} 表达式包装在 div 或其他元素中。这样做,它应该可以正常工作。

来源:the docs

顺便说一句,React 的核心算法现在正在重新架构。名为 "Fiber," 的新系统有许多改进,包括能够执行您正在尝试执行的操作。截至制作此 post 时(2016 年 10 月),光纤不可用。我听到的最后更新是,Fiber 的目标是到 2016 年底与现有系统具有相同的功能。