@@ -9,11 +9,11 @@ class Railtie < ::Rails::Railtie
9
9
config . react . variant = ( ::Rails . env . production? ? :production : :development )
10
10
config . react . addons = false
11
11
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
17
17
18
18
# Watch .jsx files for changes in dev, so we can reload the JS VMs with the new JS code.
19
19
initializer "react_rails.add_watchable_files" , group : :all do |app |
@@ -49,10 +49,14 @@ class Railtie < ::Rails::Railtie
49
49
"react-#{ variant } " ,
50
50
] . compact . join ( '-' )
51
51
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
+
56
60
React ::ServerRendering . reset_pool
57
61
# Reload renderers in dev when files change
58
62
ActionDispatch ::Reloader . to_prepare { React ::ServerRendering . reset_pool }
0 commit comments