From b32dbc86bff27d46c18890faefdfdd95a28f7acd Mon Sep 17 00:00:00 2001 From: Daniel Date: Sat, 9 Nov 2019 16:05:54 +0100 Subject: [PATCH 1/2] Replace unsafe lifecycle --- src/ReactCursorPosition.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/ReactCursorPosition.js b/src/ReactCursorPosition.js index 24e3fed8..91fdc136 100644 --- a/src/ReactCursorPosition.js +++ b/src/ReactCursorPosition.js @@ -221,19 +221,17 @@ export default class extends React.Component { } } - componentWillReceiveProps({ isEnabled: willBeEnabled }) { - const { isEnabled } = this.props; - const isEnabledWillChange = isEnabled !== willBeEnabled; - - if (!isEnabledWillChange) { + componentDidUpdate(prevProps) { + if (this.props.isEnabled === prevProps.isEnabled) { return; } - - if (willBeEnabled) { + + if (this.props.isEnabled) { this.enable(); } else { this.disable(); } + } componentWillUnmount() { From 746df2ba15a3d6cc27f0fbdd4e6e20c9e01e9bb9 Mon Sep 17 00:00:00 2001 From: Daniel Lehr Date: Sat, 9 Nov 2019 16:37:00 +0100 Subject: [PATCH 2/2] Use mounted tree in tests for lifecycle calls --- test/ReactCursorPosition.spec.js | 1 + 1 file changed, 1 insertion(+) diff --git a/test/ReactCursorPosition.spec.js b/test/ReactCursorPosition.spec.js index 4fed2f4e..305a73ff 100644 --- a/test/ReactCursorPosition.spec.js +++ b/test/ReactCursorPosition.spec.js @@ -1110,6 +1110,7 @@ describe('ReactCursorPosition', () => { }); it('can be disabled without remounting', () => { + const positionObserver = getMountedComponentTree({ isEnabled: true }); const instance = positionObserver.instance(); const spy = jest.spyOn(instance, 'disable');