Это несколько больше вопросов о стиле/теории, так как я ДУМАЮ, что оба метода будут работать. Вот сценарий:Должен ли компонент Generact React List получать реквизиты или слушатели от родителя?
У меня есть компонент InfiniteList, который я хочу сохранить родовым. Он получает текущий список всех идентификаторов элементов из родителя, затем вычисляет, какие из них он должен отображать. Для этого я в основном вытаскиваю соответствующие идентификаторы из списка, а затем отправляю полные данные по идентификатору из магазина.
Мой вопрос заключается в следующем: чтобы сохранить его универсальным, очевидно, что компонент бесконечного списка не может действительно жестко указывать, в каком хранилище он должен получать данные полного элемента (например, у меня есть 10 разных типов предметов, все из которых имеют свой собственный магазин). Тем не менее, для меня более разумно, что прокрутка и изменение набора отображаемых элементов - это состояние. Итак, как вы думаете, имеет смысл:
A) Передайте список IDS в качестве реквизита, а также добавьте/удалите слушателей из родительского компонента, чтобы компонент списка знал, кого слушать?
B) Или имеет смысл просто передать как список, так и полный набор данных элемента, доступных в качестве реквизита, и чтобы родительский компонент прослушивал соответствующий магазин?
Часть мотивации «прослушивания» заключается в том, что если в магазине нет элементов, они должны их получить, поэтому мне нужно, чтобы список был повторно зарегистрирован после обновления itemStore.
Вдохновленные частично здесь: ReactJS: Modeling Bi-Directional Infinite Scrolling
Я думаю, что лучше иметь контроллер как можно выше в иерархии, поэтому для получения данных из InfiniteList, а не из каждого компонента. – gcedo