@@ -9,11 +9,11 @@ class Railtie < ::Rails::Railtie
99 config . react . variant = ( ::Rails . env . production? ? :production : :development )
1010 config . react . addons = false
1111 config . react . jsx_transform_options = { }
12- # Server-side rendering
13- config . react . max_renderers = 10
14- config . react . timeout = 20 #seconds
15- config . react . react_js = lambda { File . read ( :: Rails . application . assets . resolve ( 'react.js' ) ) }
16- config . react . component_filenames = [ 'components.js' ]
12+ # Server rendering:
13+ config . react . server_renderer_pool_size = 10
14+ config . react . server_renderer_timeout = 20 # seconds
15+ config . react . server_renderer = nil # defaults to SprocketsRenderer
16+ config . react . server_renderer_options = { } # SprocketsRenderer provides defaults
1717
1818 # Watch .jsx files for changes in dev, so we can reload the JS VMs with the new JS code.
1919 initializer "react_rails.add_watchable_files" , group : :all do |app |
@@ -49,10 +49,14 @@ class Railtie < ::Rails::Railtie
4949 "react-#{ variant } " ,
5050 ] . compact . join ( '-' )
5151
52- app . config . react . server_renderer_options ||= { }
53- app . config . react . server_renderer ||= React ::ServerRendering ::SprocketsRenderer
54- React ::ServerRendering . renderer_options = app . config . react . server_renderer_options
55- React ::ServerRendering . renderer = app . config . react . server_renderer
52+ # The class isn't accessible in the configure block, so assign it here if it wasn't overridden:
53+ app . config . react . server_renderer ||= React ::ServerRendering ::SprocketsRenderer
54+
55+ React ::ServerRendering . pool_size = app . config . react . server_renderer_pool_size
56+ React ::ServerRendering . pool_timeout = app . config . react . server_renderer_timeout
57+ React ::ServerRendering . renderer_options = app . config . react . server_renderer_options
58+ React ::ServerRendering . renderer = app . config . react . server_renderer
59+
5660 React ::ServerRendering . reset_pool
5761 # Reload renderers in dev when files change
5862 ActionDispatch ::Reloader . to_prepare { React ::ServerRendering . reset_pool }
0 commit comments