Перемещение между страницами WebView в expo - PullRequest
0 голосов
/ 26 мая 2020

Я создал одно приложение Expo (Android) в управляемом рабочем процессе с одним статическим c экраном, содержащим веб-просмотр.

import React, { Component, useState } from "react";
import { Alert, StyleSheet, Text, TouchableHighlight, View, Modal } from 'react-native';
import { WebView } from 'react-native-webview';




export default class MyWeb extends Component {
  render() {
    return (

      <WebView
        source={{ uri: 'https://example.com/forum/' }}
        style={{ marginTop: 20 }}
      />
    );
  }
}

теперь я хочу настроить кнопку Android Назад чтобы переключиться на последнюю открытую веб-страницу вместо закрытия приложения. Обычная маршрутизация невозможна, потому что это форум, и на нем было много страниц и подстраниц, которые часто меняются. назад при нажатии в WebView)?

1 Ответ

0 голосов
/ 26 мая 2020

Вы можете переопределить кнопку android назад с помощью BackHandler

export default class MyWeb extends Component {

  // override the backbutton
  BackHandler.addEventListener('hardwareBackPress', function() {    
    if(this.webref){
      this.webref.goBack();
    }
    return true;
  });


  render() {
    return (
      <WebView
        ref={r => (this.webref = r)} // create a ref to your webview
        source={{ uri: 'https://example.com/forum/' }}
        style={{ marginTop: 20 }}
      />
    );
  }
}
...