Как вернуться к предыдущему экрану ящика в React native

#react-native

#react-native

Вопрос:

Я новичок в React Native. И я создал экран, например

  1. Экран Теперь внутри ящика у меня два экрана
  2. Экран D1
  3. Экран D2 Теперь, когда я перехожу с экрана D1 на экран D2. а затем я хочу вернуться к экрану D1, нажав кнопку возврата по умолчанию в React native, я сразу перехожу на экран «A». Это означает, что я хочу вернуться к предыдущему экрану ящика. пожалуйста, если возможно, помогите мне. Спасибо.

вот мой код экрана D2

 import React, {useRef} from 'react';
import {View,TouchableOpacity,Image, StyleSheet} from 'react-native';
import Signature from 'react-native-signature-canvas';
import { Card, Badge, Button, Block, Text } from "../components";
import { theme, mocks } from "../constants";
import { createStackNavigator, HeaderBackButton } from "react-navigation-stack";





const DigSign = () => {
        
  const ref = useRef();

  const handleSignature = (signature) => {
    console.log(signature);
  };

  const handleEmpty = () => {
    console.log('Empty');
  };

  const handleClear = () => {
    console.log('clear success!');
  };

  const handleEnd = () => {
    ref.current.readSignature();
  };
  return (
    
    

    <View style={{flex: 1}}>
       
      <Signature
        ref={ref}
        onEnd={handleEnd}

        onOK={handleSignature}
        onEmpty={handleEmpty}
        onClear={handleClear}
        descriptionText={'Sign here!'}
      />
    </View>
  );
};

export default DigSign;
 

Ответ №1:

Вы можете создать пользовательскую кнопку возврата заголовка и вернуться к экрану D1,

 <View style={styles.headerContainer}>
 <TouchableOpacity onPress={() =>  this.props.navigation.navigate("D1Screen")}>
       <IonIcon name="chevron-back" size={(window.width) * 0.06} color="#000000" />
 </TouchableOpacity>
 <Text style={styles.title}>D2 Screen</Text>
</View>
 

Ответ №2:

Сначала передайте параметр навигации в вашей функции, а затем используйте navigation.GoBack(), например:

 export default function SignupScreen({ navigation }) {
return (
<IconButton
            icon="keyboard-backspace"
            size={30}
            style={styles.navButton}
            color="#5b3a70"
            onPress={() => navigation.goBack()}
        />
  );
}