diff --git a/packages/ringcentral-widgets/containers/ComposeTextPage/index.js b/packages/ringcentral-widgets/containers/ComposeTextPage/index.js
index <HASH>..<HASH> 100644
--- a/packages/ringcentral-widgets/containers/ComposeTextPage/index.js
+++ b/packages/ringcentral-widgets/containers/ComposeTextPage/index.js
@@ -64,17 +64,19 @@ function mapToFunctions(_, {
 }) {
   return {
     send: () => {
-      this.timeout = setTimeout(() => {
+      let timeout = setTimeout(() => {
         if (routerInteraction.currentPath === '/composeText') {
           composeText.alertMessageSending();
         }
-        if (this.timeout) {
-          clearTimeout(this.timeout);
+        if (timeout) {
+          clearTimeout(timeout);
+          timeout = null;
         }
       }, 10000);
       composeText.send().then((responses) => {
-        if (this.timeout) {
-          clearTimeout(this.timeout);
+        if (timeout) {
+          clearTimeout(timeout);
+          timeout = null;
         }
         composeText.dismissMessageSending();
         if (!responses || responses.length === 0) {
fix bug that this in arrow function will equal to undefined some time (#<I>)