首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在反应路由器重定向过程中如何管理反应状态

问在反应路由器重定向过程中如何管理反应状态
EN

Stack Overflow用户
提问于 2018-06-14 19:26:35
回答 1查看 50关注 0票数 0

例如,假设我有一个子组件(表的行),它的状态是“评级”键,构造函数中的值设置为'0‘。

在getDerivedStateFromProps和ComponentDidMount中,评级设置为this.props.rating。到目前一切尚好。

现在,用户设置了一个新的评级,状态被更新,对mysql的查询被分派,一切都很好。但是,用户单击链接()到他们已经在上的同一页。component更新所有组件,但由于较高级别的组件没有更改,因此它不会再次查询数据库中的歌曲,因此同一组歌曲将作为道具和旧的评等一起传递下来。

我的问题很简单:高级组件应该在每次用户重定向到组件时查询数据库吗?如果是的话,是否有生命周期方法来解决这个问题,因为道具并没有改变?还是应该在用户每次选择评等时发送对新歌曲集的查询?后者似乎是正确的方法,但也是低效的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-14 20:01:02

您需要“提升你的状态”,以便它与所有需要访问它的组件处于最接近的共同祖先中。更新评等时,需要更新较高级别组件中的状态,而不是子级组件。子组件应该主要是表示性的-它接受一个评级来显示,并提供一个回调来更新它。但是实际的更新和mySql交互应该发生在更高的祖先级别,并通过道具传递下去。

记住:数据向下流动

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

https://stackoverflow.com/questions/50864547

复制
相关文章

相似问题

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