Skip to content

Commit

Permalink
remove subscribtion when unmount
Browse files Browse the repository at this point in the history
  • Loading branch information
Ibrahim committed Aug 1, 2019
1 parent 2516279 commit b47a84b
Showing 1 changed file with 16 additions and 6 deletions.
22 changes: 16 additions & 6 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ const iosEvent = new NativeEventEmitter(IPay88);

const isAndroid = Platform.OS === "android";

let successSubscription;
let failedSubscription;
let cancelSubscription;

export default class IPay extends Component {
static propTypes = {
successNotify: PropTypes.func.isRequired,
Expand All @@ -22,23 +26,29 @@ export default class IPay extends Component {
componentWillMount() {
if (isAndroid) {
// Android
DeviceEventEmitter.addListener("ipay88:success", data =>
successSubscription = DeviceEventEmitter.addListener("ipay88:success", data =>
this.onSuccess(data)
);
DeviceEventEmitter.addListener("ipay88:failed", data =>
failedSubscription = DeviceEventEmitter.addListener("ipay88:failed", data =>
this.onFailed(data)
);
DeviceEventEmitter.addListener("ipay88:canceled", data =>
cancelSubscription = DeviceEventEmitter.addListener("ipay88:canceled", data =>
this.onCanceled(data)
);
} else {
// ios
iosEvent.addListener("ipay88:success", data => this.onSuccess(data));
iosEvent.addListener("ipay88:failed", data => this.onFailed(data));
iosEvent.addListener("ipay88:canceled", data => this.onCanceled(data));
successSubscription = iosEvent.addListener("ipay88:success", data => this.onSuccess(data));
failedSubscription = iosEvent.addListener("ipay88:failed", data => this.onFailed(data));
cancelSubscription = iosEvent.addListener("ipay88:canceled", data => this.onCanceled(data));
}
}

componentWillUnmount() {
successSubscription.remove()
failedSubscription.remove()
cancelSubscription.remove()
}

onSuccess = data => {
this.props.successNotify(data);
};
Expand Down

0 comments on commit b47a84b

Please sign in to comment.