Bexazak
9/27/2017 - 1:40 PM

embedded tweet widget on reactjs

embedded tweet widget on reactjs

// docs - https://dev.twitter.com/web/embedded-tweets
 
    setWidget() {
        // for past twitter widget
        if (process.env.WEBPACK) {
            window.twttr = (function (d, s, id) {
                let js, fjs = d.getElementsByTagName(s)[0],
                    t = window.twttr || {};
                if (d.getElementById(id)) return t;
                js = d.createElement(s);
                js.id = id;
                js.src = "https://platform.twitter.com/widgets.js";
                fjs.parentNode.insertBefore(js, fjs);
                t._e = [];
                t.ready = function (f) {
                    t._e.push(f);
                };
                return t;
            }(document, "script", "twitter-wjs"));
            
            // event after loaded widget
            twttr.ready(twttr => {
                twttr.events.bind("loaded", () => {
                  // code after load widget
                });
            });
        }
    }
    
    
    componentWillUpdate() {
        if (process.env.WEBPACK) {
            twttr.ready(twttr => {
                twttr.widgets.load();
            });
        }
    }
    
    componentDidMount() {
        if (process.env.WEBPACK) {
            this.setWidget();
        }
    }