Dengan react-laravel
Anda akan dapat menggunakan komponen ReactJS langsung dari tampilan Blade Anda, dengan rendering sisi server opsional, dan menggunakannya di sisi klien dengan React karena JavaScript yang tidak mengganggu.
Penting untuk diketahui bahwa react-laravel
memiliki ketergantungan tidak langsung pada ekstensi PHP v8js.
Cara installnya bisa anda lihat disini : cara install v8js.
Tetapkan minimum-stability
composer.json
Anda ke dev
, tambahkan ini:
"stabilitas minimum": "dev"
Kemudian jalankan:
$ komposer memerlukan talyssonoc/react-laravel:0.11
Setelah itu Anda harus menambahkan ini ke penyedia Anda di file config/app.php
aplikasi Laravel Anda:
'Penyedia Layanan ReactReact'
Dan kemudian jalankan:
vendor tukang php: terbitkan
Dan file react.php
akan tersedia di folder config
aplikasi Anda.
Setelah instalasi dan konfigurasi, Anda akan dapat menggunakan direktif @react_component
dalam tampilan Anda.
Arahan @react_component
menerima 3 argumen:
@react_component(<componentName>[, props, options]) //contoh @react_component('Pesan', [ 'title' => 'Halo, Dunia' ], [ 'prerender' => true ]) // contoh menggunakan komponen namespace @react_component('Acme.Message', [ 'title' => 'Halo, Dunia' ], [ 'prerender' => true ])
componentName
: Adalah nama variabel global yang menampung komponen Anda. Saat menggunakan Komponen Namespace, Anda dapat menggunakan notasi titik untuk nama komponen.
props
: Asosiasi props
yang akan diteruskan ke komponen Anda
options
: Rangkaian opsi asosiatif yang dapat Anda teruskan ke react-laravel
:
prerender
: Memberi tahu react-laravel untuk merender komponen Anda di sisi server, lalu memasangnya di sisi klien. Standarnya adalah benar .
tag
: Tag elemen yang akan menampung komponen Anda. Defaultnya adalah 'div' .
Atribut html : Atribut HTML valid lainnya yang akan ditambahkan ke elemen pembungkus komponen Anda. Contoh: 'id' => 'my_component'
.
Semua komponen Anda harus berada di dalam public/js/components.js
(Anda dapat mengonfigurasinya, lihat di bawah) dan bersifat global.
Anda harus menyertakan react.js
, react-dom.js
dan react_ujs.js
(dalam urutan ini) dalam tampilan Anda. Anda dapat menggabungkan file-file ini menggunakan laravel-elixir.
react-laravel
menyediakan instalasi ReactJS dan file react_us.js
, semuanya akan berada di folder public/vendor/react-laravel
setelah Anda menginstal react-laravel
dan menjalankan:
$ vendor tukang php: terbitkan --force
Untuk menggunakan file yang disediakan oleh react-laravel
dan file components.js
Anda, tambahkan ini ke tampilan Anda:
<skrip src="{{ aset('vendor/react-laravel/react.js') }}"></script> <skrip src="{{ aset('vendor/react-laravel/react-dom.js') }}"></script> <skrip src="{{ aset('js/components.js') }}"></script> <skrip src="{{ aset('vendor/react-laravel/react_ujs.js') }}"></script>
Jika Anda akan menggunakan versi yang berbeda dari yang disediakan oleh react-laravel (lihat composer.json
), Anda harus mengonfigurasinya (lihat di bawah).
Anda dapat mengubah pengaturan menjadi react-laravel
di file config/react.php
:
kembali ['sumber' => 'path_for_react.js','dom-source' => 'path_for_react-dom.js','dom-server-source' => 'path_for_react-dom-server.js','komponen' => [ 'path_for_file_containing_your_components.js' ] ];
Semuanya opsional.
source
: defaultnya adalah public/vendor/react-laravel/react.js
.
dom-source
: defaultnya adalah public/vendor/react-laravel/react-dom.js
.
dom-server-source
: defaultnya adalah public/vendor/react-laravel/react-dom-server.js
.
components
: defaultnya adalah public/js/components.js
. Beberapa file komponen dapat ditentukan di sini.
File components.js
Anda juga harus disertakan dalam tampilan Anda, dan semua komponen Anda harus ada di objek window
.
Paket ini terinspirasi dari react-rails.