Which browser you tested ? If you use async="true" in your script tag, it won't block. But that's only supported by a couple of browsers yet .


I just added Disqus to my React app yesterday. I used the 'react-disqus-thread' module and had it up and running in no time.

Here it is on github:

And npm:

The component takes the following props:

  • shortname - This is 'myapp' in //
  • identifier - a unique blogId that can identify your blog post if the url changes
  • title
  • url - if you do not provide this, the module will detect the url and provide it.


Rendering the script tag to the page with react isn't the right solution - I coudln't get it to work with JSX, I assume the same applies here. Not sure why, but just add it the plain old javascript way:

    var script = document.createElement("script");

    script.src = "//";
    script.async = true;


Put that in the componentWillMount of your root component.

Related Query

More Query from same tag