LINUX.ORG.RU

Dropdown и api

 , ,


0

2

Всем привет) Тупой вопрос - когда вы в spa на react/angular/vue... используете dropdown, данные для которого лежат на сервере, вы выделяете это в отдельный компонент типа

<select-user v-model="userId"/>
или там где надо используете общий dropdown -
<select-some :items="users" v-model="userId"/>
и данные для него загружаете отдельно там где это нужно?

Если dropdown с таким источником данных будет использоваться в одном месте, то загружаем его отдельно.

Если dropdown используется хотябы в паре мест, то оборачиваем его в компонент.

serioja ()
Ответ на: комментарий от serioja

да, но если например у меня есть несколько мест на одной форме где надо использовать этот дропдаун два раза, то у меня два запроса будет. и если например я динамически добавляю элемент дропдауна то надо обновить как то элементы внутри каждого. при этом redux не используется для хранения данных - никаких кроме токена, общих данных пользователя и каких то совсем уж расшаренных данных

maksspaces ()
Ответ на: комментарий от serioja

я просто спрашиваю) ну например я не использую redux в каком то проекте или использую но для глобальных вещей. И писать экшены и редьюсеры дропдаунов не хочется. Я пришел к выводу, в принципе удобно загружать их по месту использования, а не создавать каждый раз новый компонент: select-user, select-level, select-topic. Хотя загружать каждый раз загружать то тоже не удобно

maksspaces ()
Ответ на: комментарий от maksspaces

Загружать каждый раз одно и тоже, на мой взгляд очень странное решение. Это как загружать ненормализованные данные для DataGrid, а потом бегать на сервер и таскать справочники для нормализации)))

Без redux? Тогда, нужно что-то, что будет обеспечивать работу с моделями/данными. Ведь React это слой представления(view) и он отвечает за отображение данных и может их только отображать(рендерить/ререндерить).

serioja ()

Сложно ответить на вопрос однозначно. Ведь без Redux что в первом, что втором случае будет не совсем канонично. Лично я стараюсь все упаковывать в компоненты. Ну а далее как выше сказано + Redux.

GreenBag ★★ ()