Выбор ответа Junior Навигация спрашивают часто обновлено

React Navigation: что передавать в параметрах

Вопрос

Почему в параметры экрана передают id, а не объект товара и функцию-колбэк?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

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

Варианты ответа

  1. Объекты в параметрах запрещены и вызывают ошибку компиляции TypeScript
  2. Параметры должны быть сериализуемыми, иначе ломаются диплинки и восстановлениеправильный ответ
  3. Объект при переходе копируется побайтно, и навигация заметно замедляется
  4. Функции в параметрах вызываются автоматически в момент перехода на экран

Разбор

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

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.