Вы устанавливаете параметр handleRefresh
?Вместо params.handleRefresh();
не должно ли быть params.refresh();
?Кроме того, s.handleRefresh
где это в вашем коде?Я думаю, что есть опечатка или что-то в этом роде, и я считаю, что s.handleRefresh
на самом деле params.handleRefresh
Пожалуйста, измените ваш вопрос, если ничего из этого не является правильным.
Я не знаю, где вы устанавливаете параметр handleRefresh
, но если вы устанавливаете его (пожалуйста, проверьте это и добавьте код, где вы это делаете), возможно, это причина, по которой это происходит.
Если вы посмотрите на документы , у них нет
React Navigation не гарантирует, что ваш компонент экрана будет смонтирован перед заголовком.Поскольку параметр componentCid установлен в componentDidMount, он может быть недоступен для нас в navigationOptions.Обычно это не будет проблемой, потому что компоненты onPress for Button и Touchable ничего не сделают, если обратный вызов равен нулю.Если у вас здесь есть свой собственный компонент, вы должны убедиться, что он работает как положено, с нулем для его свойства обработчика прессы.
Это означает, что заголовок может отображаться до того, как компонент вызовет setParams
, и чтоне загружаю ваши параметры в первый раз.Что нужно сделать, чтобы проверить, когда заголовок отображается первым.
// added some checking
if(refresh && params && params.handleRefresh) {
params.handleRefresh();
}