React, генерация страниц и роутинг

253
19 июля 2021, 21:50

Есть такой вопрос: разработываю frontend на React, все работает хорошо, как на dev сервере, так и на продакшен.

Для навигации между страницами используется Route

<Switch>
<AppliedRoute path="/" exact component={Home} props={childProps} />
<AppliedRoute path="/midi-editor" exact component={MidiEditor} props={childProps} />
<AppliedRoute path="/faq" exact component={Faq} props={childProps} />
<AppliedRoute path="/user-manual" exact component={UserManual} props={childProps} />
<Route component={ NotFound } />

;

AppliedRoute выглядит так:

 export default ({ component: C, props: cProps, ...rest }) =>
 <Route {...rest} render={props => <C {...props} {...cProps} />} />;

Теперь сам вопрос: выяснилось что интерфейс должен работать не только на сервере, но и просто в обычной дирректории, т.е. открываем index.html и там он должен работать, включая должен работать роутинг. Можно ли как-то ройтин переделать для такого случая или как-то из компонентов сделать статичные страницы?

Answer 1

Думаю что вы сейчас используете апи BrowserRouter (ссылка)

Для того чтобы у вас все работало, надо использовать апи HashRouter (ссылка)

С помощью него вы сможете открывать ваш сайт как статику. Но все пути будут через # в url

READ ALSO
jquery не видит идентификатор в разметке

jquery не видит идентификатор в разметке

Использую Material Bootstrap DesignПоявилась небольшая проблема во время использования js-скрипта

253
JavaScript проверить наличие ключа в массиве

JavaScript проверить наличие ключа в массиве

я создаю массив данным кодом

151
Как обратиться к элементу объекта в nodejs?

Как обратиться к элементу объекта в nodejs?

После запроса к базе я получаю объект [ RowDataPacket { id: 1, login: 'Uri', password: '9696GORYACHEV' } ] как вывести просто id? Пробовал i[id]/i['id'] - не выводит Пробую

226