Обновить данные при переходе назад реагировать родной - PullRequest
0 голосов
/ 17 октября 2018

Как мне обновить данные при переходе назад?Например, если я хочу что-то отредактировать, а затем нажать «Стрелку назад», я хочу сразу же увидеть изменения.

    componentWillMount() {
    getData("data", (res) => {
        this.setState({ name: res.name, date: res.date});
        var date = new moment(this.state.date);
        var currentDate = new moment(); 
        var duration = moment.duration(date.diff(currentDate)).as("days");
        duration = Math.round(duration + 1).toString();
        var daysLeftPercent = Math.round([duration / 340] * 100);
        this.setState({ daysLeft: duration, daysLeftPercent: daysLeftPercent});

    }); 
}

Примерно так же, но я также хочу запустить его при нажатии кнопки «Стрелка назад»."на другой странице, которая ведет к этому.

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Если вы хотите вернуться к предыдущему компоненту и передать данные к предыдущему компоненту, вы можете использовать () => this.props.navigation.goBack ()

Например, если вы хотите нажатькнопка для возврата:

<TouchableHighlight onPress={() => this.props.navigation.goBack(
  //do something here

  )}>    
  <Text> Go Back to previous component </Text>
</TouchableHighlight>
0 голосов
/ 17 октября 2018

Если вы хотите получить доступ к методу компонента из другого компонента, вы должны связать его (возможно, в рамках реквизита или параметров навигации).А чтобы получить доступ к «стрелке назад» (я думаю, что вы имеете в виду кнопку «Назад» устройства, в противном случае она зависит от вас), вы можете использовать BackHandler из реагировать нативно.

  BackHandler.addEventListener(
    "hardwareBackPress",
    this.props.onPressBackButton
  );
  ...
  onPressBackButton = () => {
    //do something
  }
...