diff --git a/node_package/src/ReactOnRails.ts b/node_package/src/ReactOnRails.ts index 617fd7baab..ecb80add64 100644 --- a/node_package/src/ReactOnRails.ts +++ b/node_package/src/ReactOnRails.ts @@ -188,7 +188,7 @@ ctx.ReactOnRails = { const componentObj = ComponentRegistry.get(name); const reactElement = createReactOutput({ componentObj, props, domNodeId }); - return reactHydrateOrRender(hydrate, document.getElementById(domNodeId) as Element, reactElement as ReactElement); + return reactHydrateOrRender(document.getElementById(domNodeId) as Element, reactElement as ReactElement, hydrate); }, /** diff --git a/node_package/src/clientStartup.ts b/node_package/src/clientStartup.ts index b38755c706..6f5fa30171 100644 --- a/node_package/src/clientStartup.ts +++ b/node_package/src/clientStartup.ts @@ -168,7 +168,7 @@ function render(el: Element, railsContext: RailsContext): void { You returned a server side type of react-router error: ${JSON.stringify(reactElementOrRouterResult)} You should return a React.Component always for the client side entry point.`); } else { - reactHydrateOrRender(shouldHydrate, domNode, reactElementOrRouterResult as ReactElement); + reactHydrateOrRender(domNode, reactElementOrRouterResult as ReactElement, shouldHydrate); } } } catch (e: any) { diff --git a/node_package/src/reactHydrateOrRender.ts b/node_package/src/reactHydrateOrRender.ts index 0c7cb42c3a..c5900d4442 100644 --- a/node_package/src/reactHydrateOrRender.ts +++ b/node_package/src/reactHydrateOrRender.ts @@ -37,6 +37,6 @@ export function reactRender(domNode: Element, reactElement: ReactElement): Rende return ReactDOM.render(reactElement, domNode); } -export default function reactHydrateOrRender(shouldHydrate: boolean, domNode: Element, reactElement: ReactElement): RenderReturnType { - return shouldHydrate ? reactHydrate(domNode, reactElement) : reactRender(domNode, reactElement); +export default function reactHydrateOrRender(domNode: Element, reactElement: React.ReactElement, hydrate: boolean): RenderReturnType { + return hydrate ? reactHydrate(domNode, reactElement) : reactRender(domNode, reactElement); }