Глоссарий терминов¶
Это новый раздел документации, и в нем не хватает многих терминов! Пожалуйста, отправьте запрос на исправление или проблему с термином, который, по вашему мнению, должен быть объяснен здесь.
Навигатор¶
Навигатор (Navigator
) - это React-компонент, который решает, как отображать заданные экраны. В качестве дочерних элементов он содержит элементы Screen
для определения конфигурации экранов.
NavigationContainer
- это компонент, который управляет нашим навигационным деревом и содержит navigation state. Этот компонент должен обернуть всю структуру навигаторов. Обычно мы размещаем этот компонент в корне нашего приложения, который, как правило, является компонентом, экспортируемым из App.js
.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Маршрутизатор¶
Маршрутизатор - это набор функций, которые решают, как обрабатывать действия и изменения состояния в навигаторе (аналогично редукторам в приложениях Redux). Обычно вам никогда не нужно взаимодействовать с маршрутизатором напрямую, если только вы не пишете собственный навигатор.
Компонент экрана¶
Компонент экрана - это компонент, который мы используем в конфигурации маршрута.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Суффикс Screen
в имени компонента является совершенно необязательным, но часто используемым соглашением; мы могли бы назвать его Michael
, и это работало бы точно так же.
Ранее мы видели, что наши экранные компоненты снабжены реквизитом navigation
. Важно отметить, что это происходит только в том случае, если экран отображается как маршрут с помощью React Navigation (например, в ответ на команду navigation.navigate
). Например, если мы отобразим DetailsScreen
как дочерний экран HomeScreen
, то DetailsScreen
не получит свойства navigation
, и при нажатии кнопки "Go to Details... again" на главном экране приложение выбросит одно из квинтэссенциальных исключений JavaScript "undefined is not an object".
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
В разделе "Справочник по навигационным пропсам" об этом говорится более подробно, описаны обходные пути и приведена дополнительная информация о других свойствах, доступных для свойства navigation
.
Навигационный пропс¶
Этот реквизит будет передаваться всем экранам, и его можно использовать для следующих целей:
dispatch
отправит действие на маршрутизаторnavigate
,goBack
и т.д. доступны для диспетчеризации действий удобным способом
Навигаторы также могут принимать навигационный реквизит, который они должны получить от родительского навигатора, если таковой имеется.
Подробнее об этом см. в документе "Навигационный пропс документа".
В разделе "Ссылка на пропс маршрута" более подробно рассматривается этот вопрос, описываются обходные пути, а также приводится информация о других свойствах, доступных для свойства route
.
Маршрутный пропс¶
Этот реквизит будет передаваться на все экраны. Содержит информацию о текущем маршруте, т.е. params
, key
и name
.
Состояние навигации¶
Состояние навигатора в общем случае выглядит примерно так:
1 2 3 4 5 6 7 8 |
|
Для данного состояния навигации существует два маршрута (которые могут быть вкладками или карточками в стопке). Индекс указывает на активный маршрут, которым является "B".
Подробнее о состоянии навигации можно прочитать здесь.
Маршрут¶
Каждый маршрут представляет собой объект, содержащий ключ для его идентификации и "имя" для обозначения типа маршрута. Он также может содержать произвольные параметры:
1 2 3 4 5 |
|
Заголовок¶
Также известен как навигационный заголовок, панель навигации, панель приложений и, вероятно, многие другие. Это прямоугольник в верхней части экрана, который содержит кнопку "Назад" и заголовок экрана. Весь прямоугольник часто называют заголовком в React Navigation.