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

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

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
static getDerivedStateFromProps(
@@ -127,12 +132,14 @@ class TransitionGroup extends React.Component {
127132
child.props.onExited(node)
128133
}
129134

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

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

138145
render() {

0 commit comments

Comments
 (0)