Фильтровать данные в редюсере или в компоненте? как лучше?

У меня есть это приложение, в котором на домашней странице я загружаю компонент, который отображает список фильмов, поступающих из локального файла JSON, который я загружаю в хранилище в App.js в жизненном цикле componentDidMount.

И у меня есть другой маршрут, где я отображаю детали одного фильма.

Теперь у меня есть два варианта: либо я создаю действие, которое фильтрует список «все фильмы» в редьюсере, и сохраняет один фильм в «начальном состоянии» в редюсере, а затем запускает это действие в компоненте «SingleMovie» в его componentDidMount функция.

Или мне отфильтровать весь список фильмов в самом компоненте и получить информацию об одном фильме?

Что лучше с точки зрения производительности и передовой практики?


person Ruby    schedule 05.10.2018    source источник


Ответы (2)


Поместить свою логику внутри компонента или где-то вне компонента?

Хорошей практикой является всегда держать ваш компонент как можно тоньше. Я имею в виду, что компонент отвечает за представление, а не за обработку логики приложения.

В вашем случае вам следует придерживаться варианта 1: создание действия, которое фильтрует список «все фильмы» в редукторе и сохраняет один фильм в «начальном состоянии» в редукторе, а затем запускает это действие в Компонент "SingleMovie" в его функции componentDidMount.

person Nguyen You    schedule 05.10.2018

Всегда лучше отфильтровать данные в редукторе, установить его в состояние и получить эти конкретные отфильтрованные данные внутри вашего компонента.

person Arcot Deepika    schedule 05.10.2018