【发布时间】:2016-06-06 18:04:20
【问题描述】:
我目前以典型的 React 风格呈现一个列表。该列表作为数组道具传递,我像这样映射它:
{this.props.myList.map(createListItem, this)}
所以当一个新元素被添加时,它看起来就像最新的项目被添加到了列表的末尾。
我想要它,所以最新的项目出现在顶部。即一切都按时间倒序出现。
到目前为止,我提出的两个选项是: 1)反转列表,每次添加东西时创建一个新数组,并将这个反转的列表作为道具传递。 2) 使用移位。
但由于性能,它们都没有吸引力。
我不知道 Javascript 支持反向映射。我一直在尝试一个 for 循环,但我无法让它工作。
在 React 中以相反顺序呈现数组的惯用方式是什么?
【问题讨论】:
-
this.props.myList.reverse().map 是一个选项吗?
-
我认为使用本机 reverse() 方法不是一个坏主意。在谷歌浏览器中 array.reverse 比其他方法更快但是,如果性能真的是一场音乐会,你可以使用答案中描述的方法stackoverflow.com/questions/5276953/…
-
我想你可能想多了。您建议的两种方法都可以在 map 性能要好得多。
标签: javascript reactjs