я про то, что ты сам явно создашь буль, который это помнит (или в обёртке, или прям в компоненте)
как вариант типа того: const getCancellablePromise = (promise, isCanceled) => new Promise((resolve, reject) => { promise.then(result => ( isCanceled() ? reject() : resolve(result) )); }); class Test extends React.Component { ... componentDidMount() { this.isMounted_ = true; } componentWillUnmount() { this.isMounted_ = false; } test() { getCancellablePromise( this.props.someAction(), () => !this.isMounted_ ).then( () => { // make smth }, () => { /* canceled */ } ); } ... }
Обсуждают сегодня