Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在React/Redux中自动增加数据的最佳方法?_Javascript_Reactjs_Redux - Fatal编程技术网

Javascript 在React/Redux中自动增加数据的最佳方法?

Javascript 在React/Redux中自动增加数据的最佳方法?,javascript,reactjs,redux,Javascript,Reactjs,Redux,假设我有一个UI元素,我希望它绑定到redux存储中的一个状态。当此状态更改由用户操作触发时,这是一种很好的方法。但如果这是一个自身不断变化的状态呢?例如,如果元素需要显示页面已打开的时间。如果页面每100ms发送一个操作,那么它将导致巨大的内存泄漏,因为每100ms必须创建和存储一个新的状态对象,并且从不进行垃圾收集 我目前只是使用旧的jQuery来更新它,但我认为如果这个数据绑定可以集成到大的react/redux流中,那就太好了。欢迎提出任何建议。谢谢。我试着回答我自己的问题。 这有助于查

假设我有一个UI元素,我希望它绑定到redux存储中的一个状态。当此状态更改由用户操作触发时,这是一种很好的方法。但如果这是一个自身不断变化的状态呢?例如,如果元素需要显示页面已打开的时间。如果页面每100ms发送一个操作,那么它将导致巨大的内存泄漏,因为每100ms必须创建和存储一个新的状态对象,并且从不进行垃圾收集


我目前只是使用旧的jQuery来更新它,但我认为如果这个数据绑定可以集成到大的react/redux流中,那就太好了。欢迎提出任何建议。谢谢。

我试着回答我自己的问题。 这有助于查看和

在这种情况下,imo最好的方法是绕过redux存储,用新的道具呈现一个新的UI元素。这样,只复制与UI元素显示相关的道具,而不是复制完整的状态树


呈现一个新的UI元素不会删除旧的UI元素,因为react最擅长的就是:比较差异,只更新需要更新的部分。

Redux仅在使用Redux DevTools时在内存中存储旧的状态,这对存储多少旧的状态有默认限制。在生产中,不会存储旧状态,所有内容都将被垃圾收集。看到了吗?@markerikson谢谢,很高兴知道,我以前不知道这件事。所以我假设您建议解决这个问题的最佳方法是将UI元素绑定到一个状态,而不必担心内存问题?啊。。。基本上,是的,不要担心记忆方面。另外,我建议您在使用React和Redux时不要考虑“绑定”这个词。@markerikson谢谢您。你能解释一下“绑定”这个词有什么问题吗?另外,如果树很大,每隔很短的时间就必须复制状态树,那么在我看来,它将使浏览器在GC上花费大量cpu时间。