在map函数内分配const变量

时间:2019-01-21 14:48:29

标签: javascript reactjs reactivesearch

我正在使用Reactivesearch,并且试图在map函数内分配一个const变量。特别是在.map中,如下所示:

onAllData(data, streamData) {

    return (
        <div className="grid">
        {
            data.map((item) => 
                const propertyName = item.productName;

                <div className="flex-container card" key={item._id}>
                    <div className="content">
                        <p>{propertyName}</p>
                    </div>
                </div>
            )
        }
    );
}

const propertyName = item.productName;给我带来了问题。 Error states unexpected token

有可能吗?

2 个答案:

答案 0 :(得分:4)

您需要使用花括号和return从表达式语法转到块语法:

        data.map((item) => {
            const propertyName = item.productName;

            return (<div className="flex-container card" key={item._id}>
                <div className="content">
                    <p>{propertyName}</p>
                </div>
            </div>)
        })

但是,您也可以使用解构来获取propertyName,然后返回到一个表达式:

        data.map(({productName, _id}) =>
           <div className="flex-container card" key={_id}>
                <div className="content">
                    <p>{propertyName}</p>
                </div>
            </div>
        )

答案 1 :(得分:1)

这是箭头功能的不当使用。

修复:

data.map(({productName, _id}) => (
   <div className="flex-container card" key={_id}>
       <div className="content">
            <p>{productName}</p>
        </div>
   </div>
);