Skip to content
Snippets Groups Projects
Commit 8aea6ba5 authored by Boris Diakur's avatar Boris Diakur :tea:
Browse files

fix(icon): prevent state update on unmounted component

parent 0656b3ee
No related branches found
No related tags found
1 merge request!210fix(icon): prevent state update on unmounted component
import React, { PureComponent } from 'react'
import PropTypes from 'prop-types'
import styled, { css, withTheme } from 'styled-components'
import { path } from 'ramda'
import React, { PureComponent } from 'react'
import cx from 'classnames'
import iconsList from '../../elements/Icon/iconsList'
......@@ -78,6 +78,7 @@ export class Icon extends PureComponent {
}
componentDidMount() {
this._isMounted = true
const { name, isFilled } = this.props
let importPromise
......@@ -102,17 +103,25 @@ export class Icon extends PureComponent {
importPromise()
.then(({ default: DefaultExport, NamedExport }) => {
this.setState({
svgIconComponent: DefaultExport,
})
if (this._isMounted) {
this.setState({
svgIconComponent: DefaultExport,
})
}
})
.catch(err => {
this.setState({
error: err,
})
if (this._isMounted) {
this.setState({
error: err,
})
}
})
}
componentWillUnmount() {
this._isMounted = false
}
render() {
if (this.state.error) return <code>invalid icon name</code>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment