reactjs – React Redux:在状态改变后滚动DOM元素
这里是Redux的新手,真的只是寻找“最佳实践”的答案.
我正在使用React Redux构建聊天应用程序.我的应用程序看起来像这样: >我的应用容器,消息列表和输入栏的3个无状态组件 到现在为止还挺好.一切都运行良好,但我不确定在这个序列中我应该如何/在哪里进行DOM操作.具体来说,每当我的消息发生变化时,我都想滚动到我的消息列表容器的底部. 我需要触发的是:messagesListElement.scrollTop = messagesListElement.scrollHeight;,但不确定适当的位置在哪里. 解决方法
您提到所有三个组件都是无状态的,这意味着消息在redux存储中维护,这意味着它们作为道具传递给子组件.基本上有五种生命周期方法可以在组件更新之后/之前触发.
> componentWillReceiveProps() 现在,由于您希望在将新消息推送到消息状态后向下滚动,因此最好的位置是componentDidUpdate() 为什么不使用componentWillReceiveProps – 这是在新消息即将在组件的新props中传递之前执行的函数.这是更新组件状态与新道具的最佳位置,但由于您的组件是无状态的,因此这不适合滚动. This可能会有所帮助 希望能帮助到你 :) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 轻松学习C#的运算符
- c – OpenGL:GLSL浮点数精度低
- ruby-on-rails – 使用设计注销时无效的真实性令牌
- ruby-on-rails – 比较Ruby on Rails中的时间和日期时间?
- Oracle进程中的 LOCAL=NO 和 LOCAL=YES
- ruby-on-rails – 如何以可扩展的方式部署[Ruby on Rails]站
- cocos2dx 3.x c++ 使用uibutton笔记
- c# – 通过互联网传输大文件的可靠而快速的方式
- [寒江孤叶丶的Cocos2d-x之旅_19]Cocos2d-x 3.0 rc2 版本 La
- 《Cocos2d-x实战 Lua卷》上线了-源码-样章-感谢大家的支持