首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >React.js抽搐脚趾。‘Does’真的有用吗?

React.js抽搐脚趾。‘Does’真的有用吗?
EN

Stack Overflow用户
提问于 2017-12-03 19:45:46
回答 1查看 68关注 0票数 1

以下是react toe,CodePen在这里的改进版本

我在移动描述中添加了时间(只查看li何时呈现):

代码语言:javascript
运行
复制
<li key={move}>
  <button onClick={() => this.jumpTo(move)}>{desc + ' ' + +new Date()}</button>
</li>

预期结果:每个列表项都有不同的时间,因为likey,在每次移动时都不会重新呈现。

实际发生的事情:每次移动时,都会对每个li更改进行时间处理(每个li都会呈现)。Go to game start 1512330036500 Go to move #1 1512330036500 Go to move #2 1512330036500 Go to move #3 1512330036500 Go to move #4 1512330036500 Go to move #5 1512330036500

我对它应该如何表现的理解有什么问题?

有没有办法让它像我期望的那样起作用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-03 20:41:55

使用key支柱,React知道如何在更新阶段匹配循环中的元素,这样如果没有必要,它就不会重新呈现它。因为history.map每次都返回不同的数组,所以没有办法知道如何在没有key的情况下匹配元素。然而,这并不意味着组件将永远不会被重新呈现。

在您的示例中,React是重新呈现您的li,因为您正在通过在每次迭代中使用new Date()来更改lichildren支柱。

只需将时间戳添加到状态:historyhttps://codepen.io/anon/pen/gXqEqb,就可以实现所要做的事情。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47622528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档