Требует ли React.js приложения одной страницы?

Я перехожу к React.js, и мой вопрос прост: мое приложение должно быть одностраничным приложением, если я использую React?

Если нет, то как мне управлять компонентами за пределами них? По FLUX? Любые другие стандартные методы?

Если да, существуют ли библиотеки для проверки разрешений/доступа на стороне клиента для React?

Спасибо большое!

Ответ 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 сможет отреагировать на него.