Skip to content

Client and Server-side React.js rendering in a Symfony Bundle

License

Notifications You must be signed in to change notification settings

Limenius/ReactBundle

Repository files navigation

ReactBundle

ReactBundle integrates ReactRenderer with Symfony. This lets you implement React.js client and server-side rendering in your Symfony projects, allowing the development of universal (isomorphic) applications.

Note: If you are new to React.js, please note that this bundle is not by any means required to use React with Symfony. This allows you to do some advanced features such as Server Side Rendering, or injecting components directly from Twig tags.

Features include:

  • Prerender server-side React components for SEO, faster page loading, and users that have disabled JavaScript.
  • Twig integration.
  • Client-side render will take the server-side rendered DOM, recognize it, and take control over it without rendering again the component until needed.
  • Error and debug management for server and client side code.
  • Simple integration with Webpack.

Latest Stable Version Latest Unstable Version License

Example

For a complete example, with a sensible Webpack set up and a sample application to start with, check out Symfony React Sandbox.

Documentation

The documentation for this bundle is available in the Resources/doc directory of the bundle:

Installation

All the installation instructions are located in the documentation.

License

This bundle is under the MIT license. See the complete license in the bundle:

LICENSE.md

Credits

ReactBundle is heavily inspired by the great React On Rails, and uses its npm package to render React components.

The installation instructions have been adapted from https://github.com/KnpLabs/KnpMenuBundle. Because they were great.

With Silex

Silex was discontinued in June 2018. However, if you wish to use ReactRenderer with Silex, check out @teameh Silex React Renderer Service Provider.