@Isildur12

Как лучше структурировать элементы массива?

Привет, хочу разбить большие компоненты на маленькие с меньшими зависимостьями, есть ли приемущество такой структуры данных(в данный момент использвую её)в производительности:
items: [
	{ type: 'someTypeRequest', ... },
	{ type: 'image', ... },
	{ type: 'someAnotherTypeRequest2', ... },
	{ type: 'video', ... },
]


над этой(думаю сменить на неё):
items: {
	requests: [
		{ type: 'someTypeRequest1', ... },
		{ type: 'someAnotherTypeRequest2', ... },
	],
	media: [
		{ type: 'image', ... },
		{ type: 'video', ... }
	]
	
}


В первом случае 1 раз пробегаюсь по 1 большому массиву и вывожу все элементы:
<template v-for="item in items">
   <component-a v-if="item.type === 'image'"  ...здесь много пропсов></component-a>
   <component-b v-if="item.type === 'video'" ...здесь много пропсов></component-b>
   <component-c v-if="item.type === 'someTypeRequest'" ...здесь много пропсов></component-c>
   <component-d v-if="item.type === 'someAnotherTypeRequest2'" ...здесь много пропсов></component-d>
   ...и ещё компоненты здесь
</template>

и если мне надо разбить большой компонент(в котором прокидается много пропсов и есть ещё слоты) на малые дочерние компоненты,
то это стаёт болезненным.
Во втором случае у меня есть обьект с массива по ключу которые я могу на фронте посортировать по предназначению (2 подход) и я смогу это хотябы разбить на 2 меньших компонента: 1) для requests; 2) для media. Есть ли во втором подходе недостатки и какие либо есть смысл оставить всё как есть? По API данные приходят в 1 варианте.
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
Aetae
@Aetae Куратор тега JavaScript
Тлен
Вместо кучи компонентов с if, используй один <component :is="conponent" v-bind="allprops"/>.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект
22 нояб. 2024, в 22:26
3500 руб./за проект