страница обновляется при изменении файла реагировать - PullRequest
0 голосов
/ 11 июля 2020

У меня есть приложение response / redux, и когда файл изменяется, и я нажимаю «Сохранить», оно обновляет страницу и очищает все данные redux. Я знаю, что могу сохранить данные redux в localstorage. Что я хотел бы знать, так это то, что по умолчанию сервер response / node обновляет sh страницу при изменении файла? Если нет, то как я могу это предотвратить?

1 Ответ

2 голосов
/ 11 июля 2020

Это поведение по умолчанию? : ДА, это так.

Это известно как live-reloading, когда изменение в вашем файле обновляет ваш локальный сервер и перезапускает приложение, устанавливая все состояния на начальные. Вы упомянули, что состояние приложения потеряно.

Существует еще одна концепция, называемая hot-reloading, которая предотвращает это. Горячая перезагрузка просто заменит модули, которые были изменены во время работы приложения. Это не приведет к обновлению sh приложения. Он просто обновит страницу с изменениями без перезагрузки и, таким образом, сохранит состояние приложения. Однако состояние компонента, то есть состояние реакции, не поддерживается.

Теперь, когда вы создаете проект реакции с использованием CRA, функция горячей перезагрузки встроена. Вы можете попробовать ее, запустив свой app и изменив некоторые css. Вы заметите, что приложение не обновляет sh, но изменения применяются !!

Однако, если вы попытаетесь сделать это в файле JSX, все приложение изменится. Это связано с тем, что необходимо внести некоторые изменения, чтобы включить горячую перезагрузку в файле JSX.

Go в индекс. js и напишите эту строку кода:

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

Если вы go внесете изменения в свой JSX-файл сейчас, вы увидите, что обновления применяются без refre sh.

НО, состояние реакции не сохраняется. Существует библиотека под названием react-hot-loader, которая также может помочь вам в поддержании состояния реакции. Попробуйте!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...