Ответ 1
Реактивное приложение не обязательно должно быть одностраничным приложением. React предоставляет вам образ модели HTML с точки зрения классов с определенной логикой визуализации, но не навязывает какую-либо конкретную прикладную логику, такую как single vs multi page.
Я не совсем уверен, что понимаю оставшиеся ваши вопросы, но я думаю, что вы по существу задаете , как смоделировать приложение-ответ как многостраничное приложение. Однако есть много способов структурировать ваши файлы следующим образом:
./app --> main page for your app
./app/page1/ --> page 1 of your app
./app/page2/ --> page 2 of your app
...
Таким образом, каждая "страница" будет содержать автономный проект реагирования. Ваша основная страница приложения может содержать гиперссылки, которые загружают эти страницы, или вы можете загружать их асинхронно в свой код javascript.
EDIT: Вопрос, поясненный в комментарии, , как сделать изменение реагирующего компонента из-за какого-либо действия на странице:
Скажите react component B
содержится в react component A
. Пользователь нажимает button B
, который содержится в react component B
, а при нажатии вызывает callback B
в react component B
, и этот клик должен вызвать некоторые действия в react component A
. callback B
должен как-то уведомить react component A
, что все изменилось.
Здесь у вас есть выбор, что делать. Вы могли бы react component B
исправить изменения, которые react component A
прослушивает (и повторно отображает соответственно), или вы можете использовать модель FLUX
. В модели FLUX
react component B
будет вызывать изменение состояния в каком-либо хранилище состояний, что приведет к выходу события. react component A
потребуется установить обратный вызов события для этого события, а когда react component B
испустит его, react component A
сможет отреагировать на него.