diff --git a/lib/react_on_rails/helper.rb b/lib/react_on_rails/helper.rb index 67b404b0f..3529956cc 100644 --- a/lib/react_on_rails/helper.rb +++ b/lib/react_on_rails/helper.rb @@ -110,8 +110,10 @@ def react_component(component_name, options = {}, &block) # <% end %> # <%= react_helmet_app["componentHtml"] %> # - def react_component_hash(component_name, options = {}) + def react_component_hash(component_name, options = {}, &block) + (options[:props] ||= {})[:children_html] = capture(&block) if block options[:prerender] = true + internal_result = internal_react_component(component_name, options) server_rendered_html = internal_result[:result]["html"] console_script = internal_result[:result]["consoleReplayScript"] diff --git a/spec/dummy/client/app/startup/ChildrenExample.jsx b/spec/dummy/client/app/startup/ChildrenExample.jsx new file mode 100644 index 000000000..f4fc65287 --- /dev/null +++ b/spec/dummy/client/app/startup/ChildrenExample.jsx @@ -0,0 +1,10 @@ +import React from 'react'; + +const ComponentWithChildren = ({ children }) => ( +
+

This is component for testing passing children in from Rails

+ { children } +
+); + +export default ComponentWithChildren;