Skip to content

Commit 6d46b69

Browse files
restlessbitjquense
authored andcommitted
fix: prevent calling setState in TransitionGroup if it has been unmounted (#435)
1 parent c1787ed commit 6d46b69

1 file changed

Lines changed: 12 additions & 5 deletions

File tree

‎src/TransitionGroup.js‎

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,11 @@ class TransitionGroup extends React.Component {
104104

105105
componentDidMount(){
106106
this.appeared=true
107+
this.mounted=true
108+
}
109+
110+
componentWillUnmount(){
111+
this.mounted=false
107112
}
108113

109114
staticgetDerivedStateFromProps(
@@ -127,12 +132,14 @@ class TransitionGroup extends React.Component {
127132
child.props.onExited(node)
128133
}
129134

130-
this.setState(state=>{
131-
letchildren={ ...state.children}
135+
if(this.mounted){
136+
this.setState(state=>{
137+
letchildren={ ...state.children}
132138

133-
deletechildren[child.key]
134-
return{ children }
135-
})
139+
deletechildren[child.key]
140+
return{ children }
141+
})
142+
}
136143
}
137144

138145
render(){

0 commit comments

Comments
 (0)