文件更改时页面刷新反应

page refreshes when file is changed react

我有一个 react/redux 应用程序,当文件更改并点击保存时,它会刷新页面并清除 所有 redux data.I 都知道我可以将 redux 数据保存到本地存储。我想知道什么 这是 react/node 服务器在文件更改时刷新页面的默认行为吗?如果不是,我该如何预防?

这是默认行为吗? : 是的,它是。

这被称为 live-reloading,您的文件中的更改会刷新您的本地服务器并重新启动应用程序,将所有状态设置为初始状态。

但是你提到的问题是应用程序的状态丢失了。

还有另一个名为 hot-reloading 的概念阻止了它。热重载只会替换在应用 运行 期间更改的模块。这不会导致应用程序完全刷新。它只会用更改更新页面而无需重新加载,因此将保持应用程序的状态。然而,组件的状态,即 react 状态没有被维护。

现在,当您使用 CRA 创建 React 项目时,内置了热重载功能。您可以通过 运行 您的应用程序并更改一些 css 来尝试它。您会注意到应用没有刷新,但更改已应用!!

但是,如果您尝试在 JSX 文件中执行此操作,整个应用程序都会发生变化。这是因为需要进行一些更改才能在 JSX 文件中启用热重新加载。

转到index.js并编写这行代码:

if (module.hot && process.env.NODE_ENV !== 'production') {
  module.hot.accept();
}

如果您现在去更改您的 JSX 文件,您将看到应用了更新而没有刷新。

但是,没有保持反应状态。有一个叫做 react-hot-loader 的库,它可以帮助你维护 react 状态 too.Try 它出来了!