2015-08-21 4 views
10

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

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

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

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

+0

Что вы подразумеваете под «разрешением/проверкой доступа на стороне клиента»? Вы хотите, чтобы аутентификация пользователя выполнялась на стороне сервера. – Mark

+0

И что вы подразумеваете под «контрольными компонентами вне их»? – Mark

+0

И нет, приложение не обязательно должно быть одной страницей. – Mark

ответ

12

Реактивное приложение не обязательно должно быть одностраничным приложением. 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: вопрос разъяснены в комментарии является как можно внести изменения среагировать компонент из-за какие-либо действия на странице:

Say 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. В модели FLUXreact component B испустит изменение состояния в каком-либо хранилище состояний, что приведет к выходу события. react component A необходимо будет установить обратный вызов события для этого события, и когда react component B испускает его, react component A может реагировать на него.

+0

Спасибо за ответ. Позвольте мне пояснить, что я имею в виду. Поскольку у меня нет большого опыта работы с React, я думаю о компоненте, таком как плагин jQuery, который имеет API. Если моя страница собрана в фоновом режиме, и, скажем, я нажимаю кнопку, то как я могу попросить компонент React что-то сделать для меня? Он не может выставлять API как плагин jQuery. Я знаю, что это возможно для FLUX, но это единственный способ.Я уверен, что я ничего не понимаю здесь, но я не уверен, что ... –

+0

Вы имеете в виду, что на каждой странице есть свой компонент? Я правильно понимаю вас? –

+0

Да, в этой модели каждая страница будет иметь свой собственный компонент (скорее всего, с несколькими субкомпонентами). Я отвечу на ваш второй вопрос о том, как реагировать на «реагировать» на вещи как на редактирование моего первоначального ответа. – nmio

Смежные вопросы