React-native-router-flux Обновление rightButtonImage динамически - PullRequest
2 голосов
/ 14 марта 2019

Моя сцена определяется на вкладке «Маршрутизатор» следующим образом:

<Scene 
         key="latest"
         title="LATEST"
         titleStyle={{flex:0}}
         component={Latest}
         onRight={()=>{}} 
         rightButtonImage={NOTIFICATION_ICON}
         onLeft={()=>{}}
         leftButtonImage={NAV_SEARCH_ICON}
/>

С помощью приведенного выше кода я могу выполнить навигацию с моего последнего экрана со следующим кодом:

  componentDidMount() {
          this.props.navigation.setParams({
               'onRight': this.showNotifications,
               'onLeft': this.showSearch,
         })
  }

Таким образом, чтобы обновить rightButtonImage с экрана «Последние», я попытался добавить rightButtonImage в метод setParams () следующим образом:

 this.props.navigation.setParams({
      'onRight': this.showNotifications,
      'onLeft': this.showSearch,
      'rightButtonImage': {NOTIFICATION_ICON_ON}
    })

Итак, в основном я хочу изменить свой значок колокола уведомлений всякий раз, когда приходит новое уведомление,Но добавление 'rightButtonImage' в setParams () не работает.

Кто-нибудь может помочь, пожалуйста?

1 Ответ

1 голос
/ 18 марта 2019

Попробуйте подать в суд Actions.refresh

componentDidMount() {
  Actions.refresh({
    rightButtonImage : NOTIFICATION_ICON_ON // this should be an Image
  });
}

Или вы можете использовать renderRightButton в Actions.refresh

componentDidMount() {
  Actions.refresh({
    renderRightButton : XXXX // this should be an React.Component
  });
}
...