С Navigation.push (v2 реакции на встроенную навигацию от wix) я не получаю реквизит в целевом компоненте. Как я могу получить доступ к реквизиту? - PullRequest
1 голос
/ 08 апреля 2019

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

Результат попытки: Я получаю 'изображение неопределенного'

Я использую Redux в моем приложении Reaction-Native-приложение, и Redux работает правильно, и я вижу свои данные в других компонентах. Но когда я нажимаю и пытаюсь получить доступ к реквизиту в компоненте назначения, я ничего не вижу.

Все, что я получаю, это componentId и rootTag в компоненте placeDetail, когда я просто console.log подпорки. Что я делаю не так?

Navigation.push(this.props.componentId, {
  component: {
    name: "navigation.playground.PlaceDetailScreen"
  },
  options: {
    topBar: {
      title: {
        text: selPlace.name
      }
    }
  },
  passProps: {
    selectedPlace: selPlace
  }
});

const placeDetail = props => {
   
   console.log(props)
  return (
    <View style={styles.container}>
      <View>
        <Image source={props.navigationselectedPlace.image} style={styles.placeImage} />
        <Text style={styles.placeName}>{props.selectedPlace.name}</Text>
      </View>
      <View>
        <TouchableOpacity onPress={props.onItemDeleted}>
          <View style={styles.deleteButton}>
            <Icon size={30} name="ios-trash" color="red" />
          </View>
        </TouchableOpacity>
      </View>
    </View>
  );
};

1 Ответ

3 голосов
/ 08 апреля 2019

Внутри вашего Navigation.push все должно быть внутри объекта компонента.

примерно так:

В настоящее время у вас есть опции и пропускается за пределы компонента.

Navigation.push(this.props.componentId, {
  component: {
    name: 'example.PushedScreen',
    passProps: {
      text: 'Pushed screen'
    },
    options: {
      topBar: {
        title: {
          text: 'Pushed screen title'
        }
      }
    }
  }
});
...