javascript - react中一个组件中怎么在事件处理函数中触发兄弟组件的重新渲染
PHP中文网
PHP中文网 2017-04-11 12:34:31
[JavaScript讨论组]

如题,求解决方案?

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
伊谢尔伦

使用事件还实现,使用pubsub-js这个模块。
兄弟组件订阅事件,主组件发布事件,这样就可以实现更新了

或是用redux这类框架,通过state的状态来管理,不建议这么做

ringa_lee

首先我觉得正解应该是Redux。

不过实在不想用,就曲线救国下,但是极其不推荐:
利用父组件传进来callback,更新时调用this.props.c allback,然后父组件更新兄弟组件就ok了(当然也要传递东西)

阿神

首先你得了解,要更新React组件,只有改变props或者state这两种方式。要使兄弟组件重新渲染,唯有通过父组件state,改变兄弟组件的props,触发兄弟组件重新渲染,这是唯一一种办法。当然通过原生的DOM操作不算组件重新渲染。
其实你是想只重新渲染兄弟组件,不重新渲染父组件和当前组件?只要子组件重新渲染了,父组件一定会重新渲染。还有你是担心性能问题,可以看下有关React组件性能优化相关的文章。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号