#reactjs #react-native #react-state-management #context-api
Вопрос:
Я создаю общее приложение для покупок в react native. У меня есть разные экраны вкладок, например, Главная страница, Товары, Список пожеланий и т. Д
На главном экране есть несколько каруселей, например, Тренды, продвижение, наиболее продаваемые продукты и т. Д
На экране «Товары» есть товары в соответствии с категорией
Я храню каждую категорию, такую как тренды, продвижение, наиболее продаваемые товары выбранной категории, в разных массивах. Когда я нажимаю на сердце (добавить в список желаний) Я вызываю api и переключаю цвет сердца. Это прекрасно работает, если в массивах нет общих элементов. Но если есть общие, мне нужно обновить каждый экземпляр этого элемента в каждом массиве. Каков идеальный способ отразить изменения свойств элемента во всех экземплярах этого элемента в приложении (представленных на разных или одном экране)?
Если я создам общий массив всех элементов в качестве контекста. Тогда я бы отправлял новый массив каждый раз, когда происходит изменение, которое может быть дорогостоящим (с точки зрения производительности), поскольку мы получаем все больше и больше страниц в каруселях, или могут быть ненужные повторные рендеринги на экране, который в настоящее время не смонтирован/сфокусирован