статический passProps не меняется в Navigation.push - PullRequest
0 голосов
/ 17 апреля 2019

Я использую реагирующую родную навигацию v2 от Wix, пытаясь перенести экран в существующий стек. Вот мой push-код:

        Navigation.push(this.props.componentId, {
          component: {
            name: 'chapel.search'
          }
        })

И мой объект опций

  static options (passProps) {
    console.log('Firing static method')
    return {
      component: {
        name: 'chapel.search',
        topBar: {
          visible: true,
          leftButtons: [
            {
              id: 'back',
              testID: 'back',
              icon: require('../../Images/back.png')
            }
          ],
          title: {
            component: {
              name: 'chapel.navtitle',
              alignment: 'center',
              passProps: { text: 'Search' }
            }
          },
          rightButtons: []
        }
      }
    }
  }

Я никогда не вижу оператора журнала и параметры верхней панели не меняются. Должны ли они?

Когда я использую Navigation.mergeOptions с указанным выше объектом параметров на constructor моего целевого экрана, появляются параметры, так что это то, что я сейчас использую.

Используя android, еще не тестировал с iOS. Буду обновлять, когда я делаю.

1 Ответ

0 голосов
/ 30 апреля 2019

Я создаю статические параметры, как это в моем компоненте:

 static get options() {
    return {
        ...
    }
 }

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

Navigation.push(this.props.componentId, {
    component: {
      name: 'chapel.search',
      passProps: {
        myProp: myprop1
      },
      options: {
        topBar: {
          title: {
            text: newTitleOverridingStaticOne
          }
        }
      }
    }
});

Я не знаю, действительно ли static options (passProps){...}, но вы можете попробовать, как показано выше, чтобы проверить, разрешено ли это

...