Выбор ответа Junior Навигация спрашивают часто обновлено
React Navigation: что передавать в параметрах
Вопрос
Почему в параметры экрана передают id, а не объект товара и функцию-колбэк?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Параметры должны быть сериализуемыми, иначе ломаются диплинки и восстановление. Состояние навигации можно сохранить и восстановить, а экран открыть по ссылке, где есть только строка адреса.
Варианты ответа
- Объекты в параметрах запрещены и вызывают ошибку компиляции TypeScript
- Параметры должны быть сериализуемыми, иначе ломаются диплинки и восстановлениеправильный ответ
- Объект при переходе копируется побайтно, и навигация заметно замедляется
- Функции в параметрах вызываются автоматически в момент перехода на экран
Разбор
Состояние навигации можно сохранить и восстановить, а экран открыть по ссылке, где есть только строка адреса. Объекты и функции в такой модели не выживают. React Navigation предупреждает о несериализуемых значениях. Компилятор не запрещает объекты, копирования нет, функции сами не вызываются. Данные экран получает по id из кеша или API, а результат возвращают через параметры предыдущего экрана или общее состояние.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.