У меня есть простое приложение (серверная сторона - Sinatra, клиентская сторона - ReactJS).Sinatra и маршрутизация на стороне клиента
Рабочий процесс очень прост: Sinatra обрабатывает get "/"
и отправляет index.html
клиенту со статическими таблицами стилей и скриптами.
Сценарии - это приложение ReactJS, которое состоит из нескольких компонентов и ReactRouter. Каждый компонент React представляет собой отдельную «страницу» с собственным маршрутом/маршрутом в терминах ReactRouter.
Например:
"/" => "index.html" (real html page with renered components inside)
,"/form" => (ReactRouter points to component <Form/>, in fact render happens inside selector of "index.html")
,"/finish" => (ReactRouter points to component <Finish/>, in fact render happens inside selector of "index.html")
.
Пока я осуществлял только клиентскую сторону, он работал очень хорошо. Но теперь, когда я пытаюсь использовать Sinatra для серверной части, это сломано: когда я хочу перейти на /form
, я получаю страницу 404 Sinatra по умолчанию («Sinatra не знает эту мелодию»).
Я понимаю, что Sinatra (или Rack) перехватывает маршрут запроса (/form
of /finish
) перед ReactRouter. Но я не могу понять, как это исправить (и почему это так, в то время как скрипт маршрутизатора уже находится на клиенте и должен срабатывать первым).
Благодарим за помощь.
Спасибо! Позор мне, это было довольно очевидно) – RedZagogulin