9️⃣transformResponse / selectFromResult

circle-info

transformResponse - это опция, которая позволяет изменять данные ответа, получаемые из сети, перед тем как они будут обработаны редьюсером. Она может быть полезна в случаях, когда необходимо произвести некоторые манипуляции с данными.

Давайте реализуем следующую ситуацию. С сервера могут приходить данные, не удобные для работа на фронте. Например свойства называются как то некрасиво, или приходят данные которые мы не используем никогда. Конечно по хорошему нужно связаться с бэкендером и договориться с ним. Но что если у нас нету такой возможности ? Ну и вот тут нам пригодиться transformResponse

Давайте ради примера уберем неиспользуемые свойства и изменим название поля

И вот такой результат получим в компоненте

Довольно часто с севера нам приходит структура данных довольно объемная / вложенная. А в компоненте нам не нужны все эти данные. И вот для того чтобы не загромождать компонент вложенными полями типа data.user.answers, мы можем сделать это в селекторе

Конкретно в нашем случае нам в компоненте требуются cards и cardsTotalCount.

Last updated