У меня будет несколько «продуктов» с разными «характеристиками»
Примеры
Продукты
Характеристики камеры
- Мегапиксели цифровой камеры
- марка
- Оптический зум
ноутбук Sepcs
- Марка
- Размер барана
- Операционная система
- Количество ядер процессора
- Размер дисплея
- Размер жесткого диска
У меня будет 2 компонента
- Компонент фильтра
- Результаты поиска
Компонент фильтра будет список всех доступных фильтров для этого продукта.
Результаты поиска будут результатами, которые возвращаются, когда пользователь отфильтровывает результаты и покажет им некоторые характеристики каждого найденного продукта.
Я использую Mbox State Tree и не знаю, как хранить «продукты», которые возвращаются с сервера, поскольку каждый продукт будет иметь разные свойства.
Я мог бы предположить, может быть, сделать модель для каждого типа
.model({
id: types.identifierNumber,
Brand: types.string,
OpticalZoom: types.string,
MegaPixels: types.string,
})
.model({
id: types.identifierNumber,
Brand: types.string,
RamSize: types.string,
Os: types.string,
Cores: types.string,
Display: types.string,
HarddriveSize: types.string,
})
но теперь я не знаю, как получить доступ к 2 различным моделям в моих компонентах, так как они будут привязаны к этим моделям.
Я мог бы сделать 1 огромную модель, но я не без ума от этой идеи, так как многие свойства не будут использоваться.
Еще одна вещь, которую я должен учитывать, - это то, что пользователь может нажать на один из результатов, который перейдет на другую страницу и покажет все детали. Я бы, вероятно, воспользовался ссылкой MST, чтобы получить к ней доступ, чего я не смог бы сделать, если сделаю все отдельные модели.
Любые предложения, мне кажется, мне нужно больше json или что-то более динамичное, поэтому я не уверен, является ли MST правильным решением для этого, но я не эксперт в этом, поэтому я хочу посмотреть, может ли это использоваться.