【发布时间】:2018-06-02 05:04:08
【问题描述】:
我的应用程序中几乎没有发送 ajax 调用的 React 组件。除了一件事,一切都很好。我想在特定组件更新时刷新页面。所以我在componentWillReceiveProps 方法中使用了location.reload()。虽然它可以工作,但不幸的是,每当组件获得更新时整个页面都会重新加载,而不仅仅是具有 location.reload() 代码的组件。
为什么会发生这种情况,我该如何预防/解决这个问题?
更新和澄清:感谢您的回答。我非常清楚状态更改会重新呈现组件。这不是一个独立的 React 应用程序,需要刷新页面。
这个反应应用程序是 WP 设置页面的一部分,该页面是选项卡式的。一个设置选项卡是一个反应应用程序。启用按钮后,相应的选项卡应该可见并且需要刷新页面(因为它不是反应,而是 WP 后端代码)。
我的问题是如果我在单个组件的componentWillReceiveProps 方法中添加location.reload(),那么为什么其他组件即使没有这样的代码也会刷新页面。 componentWillReceiveProps 是所有组件共享的静态方法吗?为什么其他组件状态变化会捡起location.reload()并刷新页面?
【问题讨论】:
-
我认为你应该使用状态而不是重新加载组件。
-
你的
particular component get updated怎么样? -
@Venkat Raj N 这些答案之一是否解决了您的问题?如果是这样,您应该单击解决您的问题的答案旁边的大绿色复选标记
标签: javascript reactjs