diff --git a/presentations/module2/8_ReactRouter/lecture.md b/presentations/module2/8_ReactRouter/lecture.md
index cf56fad..aa7ee5c 100644
--- a/presentations/module2/8_ReactRouter/lecture.md
+++ b/presentations/module2/8_ReactRouter/lecture.md
@@ -227,17 +227,24 @@ https://jsbin.com/xovezez/edit?html,js
### History API vs server
-- Детей-фронтендеров часто пугают тем, что подключать History API к серверу страшно
- Казалось бы, правда: мы запрашиваем _app/users/123_, а сервер не знает про такой файл, и кидает 404!
- На самом деле это пишется в 1 строку. nginx:
+
```
location / {
try_files $uri /index.html;
}
```
+
+- Вариант на node.js с использованием express:
+
+```js
+ const root = path.join(process.cwd(), 'dist');
+ app.use(express.static(root));
+ app.get('*', (_, res) => res.sendFile('index.html', { root }));
+```
- То есть: поищи файл, не нашел — верни /index.html
index.html уже грузит наш фронт.
-- **Просто!**
@@ -245,8 +252,6 @@ https://jsbin.com/xovezez/edit?html,js
- Еще можно полностью проигнорировать URL и никогда его не трогать
- Состояние в одном браузере можно сохранять в **localStorage**
-- Вот у фотошопа не было урлов и ничего, нормально работал
-- В “почти-приложениях” URL не нужен!
- По техническим причинам в **iframe** тоже не стоит использовать URL
@@ -294,15 +299,15 @@ unlisten();
- Подписываться на изменения URL и обновлять приложение
- “Виртуальные” ссылки
- Парсит пути, достает параметры
-- Будем смотреть на react-router v5
+- Будем смотреть на react-router v6
- Философия — описание роутов в виде компонентов
### react-router: Router и Route
-```js
-import { BrowserRouter, Route } from ‘react-router-dom’;
+```jsx
+import { BrowserRouter, Route, Routes } from "react-router-dom";
// BrowserRouter создает объект history и прокидывает
// его вниз
@@ -310,40 +315,41 @@ import { BrowserRouter, Route } from ‘react-router-dom’;
const App = () => (