Download the PHP package talyssonoc/react-laravel without Composer
On this page you can find all versions of the php package talyssonoc/react-laravel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download talyssonoc/react-laravel
More information about talyssonoc/react-laravel
Files in talyssonoc/react-laravel
Package react-laravel
Short Description Package to use ReactJS with Laravel
License MIT
Informations about the package react-laravel
react-laravel
With react-laravel
you'll be able to use ReactJS components right from your Blade views, with optional server-side rendering, and use them on the client-side with React due to unobtrusive JavaScript.
Installation
V8js dependency
It's important to know that react-laravel
has an indirect dependency of the v8js PHP extension.
You can see how to install it here: how to install v8js.
Composer
Set the minimum-stability
of your composer.json
to dev
, adding this:
Then run:
After that you should add this to your providers at the config/app.php
file of your Laravel app:
And then run:
And the react.php
file will be available at the config
folder of your app.
Usage
After the installation and configuration, you'll be able to use the @react_component
directive in your views.
The @react_component
directive accepts 3 arguments:
componentName
: Is the name of the global variable that holds your component. When using Namespaced Components you may use dot-notation for the component name.props
: Associative of theprops
that'll be passed to your componentoptions
: Associative array of options that you can pass to thereact-laravel
:prerender
: Tells react-laravel to render your component server-side, and then just mount it on the client-side. Default to true.tag
: The tag of the element that'll hold your component. Default to 'div'.- html attributes: Any other valid HTML attribute that will be added to the wrapper element of your component. Example:
'id' => 'my_component'
.
All your components should be inside public/js/components.js
(you can configure it, see below) and be global.
You must include react.js
, react-dom.js
and react_ujs.js
(in this order) in your view. You can concatenate these files together using laravel-elixir.
react-laravel
provides a ReactJS installation and the react_us.js
file, they'll be at public/vendor/react-laravel
folder after you install react-laravel
and run:
For using the files provided by react-laravel
and your components.js
file, add this to your view:
If you'll use a different version from the one provided by react-laravel (see composer.json
), you got to configure it (see below).
Configurations
You can change settings to react-laravel
at the config/react.php
file:
All of them are optional.
source
: defaults topublic/vendor/react-laravel/react.js
.dom-source
: defaults topublic/vendor/react-laravel/react-dom.js
.dom-server-source
: defaults topublic/vendor/react-laravel/react-dom-server.js
.components
: defaults topublic/js/components.js
. Multiple components files may be specified here.
Your components.js
file(s) should also be included at your view, and all your components must be at the window
object.
Thanks
This package is inspired at react-rails.
All versions of react-laravel with dependencies
reactjs/react-php-v8js Version dev-master
koala-framework/composer-extra-assets Version ~1.1