Skip to content

Instantly share code, notes, and snippets.

@ramubotsplash
Last active May 1, 2018 16:54
Show Gist options
  • Save ramubotsplash/48ee29effcfe05e6847517ee43b2cd35 to your computer and use it in GitHub Desktop.
Save ramubotsplash/48ee29effcfe05e6847517ee43b2cd35 to your computer and use it in GitHub Desktop.
ReactJs to Pure Js with setState
// FROM: ReactJs
activateChat() {
this.setState({ isChatActive: true });
}
// TO: Js
setState = (updatedState: Object) => {
this.state = {...this.state, ...updatedState};
setTimeout(() => this.updateClasses());
}
updateClasses = () => {
const bubbleEl = document.getElementById(CHAT_BUBBlE_ID);
if (bubbleEl) {
const bubbleCssClasses = this.getBubbleElementClasses();
const bubbleCssStyles = this.getBubbleElementStyles();
bubbleEl.setAttribute('class', bubbleCssClasses);
Object.assign(bubbleEl.style, bubbleCssStyles);
}
...
this.updateChildClasses();
...
}
activateChat() {
this.setState({ isChatActive: true });
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment