diff --git a/packages/gatsby/cache-dir/app.js b/packages/gatsby/cache-dir/app.js
index 4c4c7ebea1c99..3efdda7432e3b 100644
--- a/packages/gatsby/cache-dir/app.js
+++ b/packages/gatsby/cache-dir/app.js
@@ -3,6 +3,8 @@ const apiRunner = require(`./api-runner-browser`)
import React from "react"
import ReactDOM from "react-dom"
import { AppContainer as HotContainer } from "react-hot-loader"
+import domReady from "domready"
+
import socketIo from "./socketIo"
window.___emitter = require(`./emitter`)
@@ -36,14 +38,16 @@ if (Root.default) {
Root = Root.default
}
-ReactDOM.render(
-
-
- ,
- rootElement,
- () => {
- apiRunner(`onInitialClientRender`)
- }
+domReady(() =>
+ ReactDOM.render(
+
+
+ ,
+ rootElement,
+ () => {
+ apiRunner(`onInitialClientRender`)
+ }
+ )
)
if (module.hot) {
diff --git a/packages/gatsby/cache-dir/production-app.js b/packages/gatsby/cache-dir/production-app.js
index 5d8cce967650f..df7dfbe9a4d1c 100644
--- a/packages/gatsby/cache-dir/production-app.js
+++ b/packages/gatsby/cache-dir/production-app.js
@@ -10,7 +10,8 @@ import {
} from "react-router-dom"
import { ScrollContext } from "react-router-scroll"
import createHistory from "history/createBrowserHistory"
-// import invariant from "invariant"
+import domReady from "domready"
+
import emitter from "./emitter"
window.___emitter = emitter
// emitter.on(`*`, (type, e) => console.log(`emitter`, type, e))
@@ -148,13 +149,15 @@ loader.getResourcesForPathname(window.location.pathname, () => {
)
const NewRoot = apiRunner(`wrapRootComponent`, { Root }, Root)[0]
- ReactDOM.render(
- ,
- typeof window !== `undefined`
- ? document.getElementById(`___gatsby`)
- : void 0,
- () => {
- apiRunner(`onInitialClientRender`)
- }
+ domReady(() =>
+ ReactDOM.render(
+ ,
+ typeof window !== `undefined`
+ ? document.getElementById(`___gatsby`)
+ : void 0,
+ () => {
+ apiRunner(`onInitialClientRender`)
+ }
+ )
)
})
diff --git a/packages/gatsby/package.json b/packages/gatsby/package.json
index 6928a2e5680f8..8b1d8c676db1a 100644
--- a/packages/gatsby/package.json
+++ b/packages/gatsby/package.json
@@ -38,6 +38,7 @@
"css-loader": "^0.26.1",
"debug": "^2.6.0",
"detect-port": "^1.2.1",
+ "domready": "^1.0.8",
"dotenv": "^4.0.0",
"eventemitter2": "^4.1.0",
"express": "^4.14.0",