Я сделал общий компонент кнопки, который я использую на двух разных страницах. При нажатии кнопки вызывается другой API в зависимости от реквизита.
Иногда кнопка не вызывает API, который должен вызываться. Она вызывает предыдущий API, который был вызван с другой страницы.
Я проверил и пришел к решению, что запрос на асинхронный топор ios необходимо отписать, но я не уверен, где отменить подписку на вызов API и как.
Я использую избыточную сагу для вызовов Api .
Ниже мой код:
import React from 'react';
import {Button, Image, Icon} from 'react-native-elements';
const Button = props => {
handlePress = () => {
props.onPress();
};
return (
<>
<Button
title={props.title}
onPress={() => this.handlePress()}
icon={
<Image
source={require('../assets/images/abc.png')}
style={{marginLeft: ResponsiveWidth(-41)}}
/>
}></Button>
</>
);
};
export default Button;
В компонентах (1 и 2) я использую эту кнопку, как показано ниже
<Button onPress={this.handleSubmit} //Handle submit dispatches different action from component 1 and component 2