module React::ServerRendering

Public Class Methods

render(component_name, props, prerender_options) click to toggle source

Check a renderer out of the pool and use it to render the component. @param component_name [String] Component identifier, looked up by UJS @param props [String, Hash] Props for this component @param prerender_options [Hash] Renderer-specific options @return [String] Prerendered HTML from ‘component_name`

# File lib/react/server_rendering.rb, line 25
def self.render(component_name, props, prerender_options)
  @@pool.with do |renderer|
    renderer.render(component_name, props, prerender_options)
  end
end
reset_pool() click to toggle source

Discard the old ConnectionPool & create a new one. This will clear all state such as loaded code, JS VM state, or options. @return [void]

# File lib/react/server_rendering.rb, line 15
def self.reset_pool
  options = { size: pool_size, timeout: pool_timeout }
  @@pool = ConnectionPool.new(options) { self.renderer.new(self.renderer_options) }
end
with_renderer() { |renderer| ... } click to toggle source

Yield a renderer for an arbitrary block

# File lib/react/server_rendering.rb, line 32
def self.with_renderer
  @@pool.with { |renderer| yield(renderer) }
end