我有以下内容:
import itemsMap from '../libs/items-map';
const _ = require('lodash');
const options = {};
_.map(itemsMap, (item, key) => {
options[key] = key;
});
然后我在React中输出如下:
{
_.map(itemsMap, (item, key) => (
{key}
/>
))
}
这个目前输出的是整个项目列表,我想只输出5个..我厌倦了使用这样的切片:
{
_.map(itemsMap.slice(2), (item, key) => (
{key}
/>
))
}
这会导致TypeError:.default.slice is not a function
如何限制结果?
答案 0 :(得分:1)
无论加载器/捆绑器解析您的import
是什么,都不会将itemsMap
暴露为数组。您可能需要使用require
语法,如下面的2行。
此外,由于return语句中的key
用大括号括起但没有jsx标记,因此它被解析为一个对象并且不呈现任何内容。当您移除<span>
周围的{key}
时,请查看this codepen上发生的情况。
对于您的原始问题,限制lodash项目的惯用方法是使用lodash.take,如下所示:
_.map(_.take(itemsMap, 2), (item, key) => ( … ))