-
Notifications
You must be signed in to change notification settings - Fork 49.9k
Description
Do you want to request a feature or report a bug?
BUG
What is the current behavior?
https://codepen.io/intptr/pen/djEzbr?editors=1010
I made an example to show the execution order of some lifecycle functions while remounting a component:
newComponent.constructor() -> oldComponent.componentWillUnmount() -> newComponent.componentDidMount()
create-subscription calls getValue in constructor and save the result to its state. Before componentDidMount called, any changes will be ignored.
If I remount a component wrapped by create-subscription component, and do something in its componentWillMount which will modify the source value, I will get the wrong value in componentDidMount in the new component.
newComp.constructor -> oldComp.cWU -> newComp.cDM
state = A A -> B A !! (correct: B)
What is the expected behavior?
Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?
16.4.2 (latest)