Как получить доступ к параметрам по умолчанию из конфигурации реагирующего стека навигации? - PullRequest
0 голосов
/ 08 января 2019

Я хочу установить параметры по умолчанию в конфигурации стекового навигатора на основе маршрута, чтобы я мог повторно использовать один компонент и хранить все значения в одном месте.

Я пытался следовать документации и реализовывать параметры по умолчанию в конфигурации стекового навигатора, но, похоже, они не передаются.

const SuggestionsStack = createStackNavigator(
  {
    Suggestions: {
      screen: SuggestionsScreen,
      params: {
        linkUrl: `${UrlConstants.REST_URL}`,
        screenType: `${SuggestionsType.ALL_SUGGESTIONS}`,
      },
    },
    Suggestion: SuggestionScreen,
    SuggestionCreate: SuggestionCreateScreen,
  },
); 

Однако, когда я пытаюсь получить доступ к параметрам с экрана:

console.log(this.props.navigation.state);

Вывод на консоль:

[16:12:43] Object {
[16:12:43]   "key": "id-1546956760520-1",
[16:12:43]   "params": Object {
[16:12:43]     "handleCleanAsync": undefined,
[16:12:43]     "refreshList": undefined,
[16:12:43]   },
[16:12:43]   "routeName": "Suggestions",
[16:12:43] }

Параметры, указанные внутри конфигурации, нигде не найдены. Что я делаю не так?

this.props.navigation.state

Был использован для проверки всего доступного вывода на текущем экране, и, как мы видим, параметры "linkUrl" и "screenType", которые были указаны в конфигурации, недоступны.

Ответы [ 2 ]

0 голосов
/ 08 января 2019
Ответ

@ sdkcy должен служить цели, но вы также можете включить параметры по умолчанию в ваш компонент следующим образом:

const linkUrl = this.props.navigation.getParam("linkUrl", `${UrlConstants.REST_URL}`);

Подробнее об этом можно прочитать здесь .

0 голосов
/ 08 января 2019
const linkUrl = this.props.navigation.getParam(“linkUrl”);

Таким образом, вы можете достичь пройденного значения.

...