diff --git a/components/icon/icon.js b/components/icon/icon.js
index <HASH>..<HASH> 100755
--- a/components/icon/icon.js
+++ b/components/icon/icon.js
@@ -227,18 +227,22 @@ export default class Icon extends RingComponent {
 
     if (activeColor && typeof activeEventHandler === 'function') {
       otherProps[activeEvent] = (...args) => {
-        this.setState({
-          color: activeColor,
-          isActive: true
-        });
+        if (this.node) {
+          this.setState({
+            color: activeColor,
+            isActive: true
+          });
+        }
 
         const promise = Promise.resolve(activeEventHandler(...args));
 
         promise.then(() => {
-          this.setState({
-            color: Color.DEFAULT,
-            isActive: false
-          });
+          if (this.node) {
+            this.setState({
+              color: Color.DEFAULT,
+              isActive: false
+            });
+          }
         });
 
         return promise;
Icon: do not use setState on unmounted node

Former-commit-id: 4d3ee<I>bb<I>e<I>c<I>ae0