Реализовать реагирующее обновление на новом сервере разработки

Меня интересует использование реакции-обновления в браузере без участия Node.Js. Мой текущий сервер разработки обслуживает статические файлы (собственные модули es) и может определять, когда файл был изменен. Это обнаружение изменений передается в браузер через SSE.

Я хотел бы использовать CDN, например Skypack, для загрузки реакции-обновления и включения среды выполнения.

      import RefreshRuntime from 'https://cdn.skypack.dev/react-refresh/cjs/react-refresh-runtime.development.js';

Я прочитал первоначальное руководство Дэна по адресу https://github.com/facebook/react/issues/16604#issuecomment-528663101 , но не знаю, как собрать все воедино.

Что мне нужно сделать, чтобы включить реагирующее обновление для смонтированного компонента? Как сообщить браузеру, что импортированный модуль/компонент следует повторно импортировать?

И нужно ли мне обернуть мой компонент внутри моего модуля чем-нибудь? Эта часть озадачивает меня больше всего. Представьте, что у меня есть такой компонент, как:

      import React from 'https://cdn.skypack.dev/react';

function App() {
    return React.createElement('div', null, `App component`);
}

export default App;

Что должно произойти с этим, чтобы он мог играть в мяч с реактивным обновлением?

Мой основной модуль index.js точки входа будет выглядеть так:

      import App from './app.js';

ReactDOM.render(
    React.createElement(App, {}, null),
    document.getElementById('root')
  );

В простейшей форме я хотел бы иметь доказательство концепции, когда я загружаю компонент. Измените его локально и нажмите где-нибудь кнопку, чтобы имитировать SSE, измененный файлом. Нажатие кнопки должно затем вызвать обновление реакции, и смонтированный компонент приложения должен отразить изменение.

0 ответов

Другие вопросы по тегам