Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

MingleJS ile Livewire Uygulamasında Vue veya React Bileşenlerini Kullanma

MingleJS, Livewire veya Filament uygulamasında Vue ve React bileşenlerini kullanmak için bir yardımcıdır. Joao Patricio tarafından oluşturulan bu paket, Vue veya React kullanmak istediğiniz açılış sayfaları ve karmaşık bileşenler için kullanışlıdır. Ayrıca Livewire'ı benimsemek veya Vue veya React ekosistemindeki üçüncü taraf bileşenleri kullanmak için aşamalı bir yol olarak da kullanılabilir.

MingleJS, sunucu tarafında bir <div> oluşturarak ve ardından istemci tarafında bir bileşen bağlayarak çalışır. Sunucu tarafındaki bir Livewire bileşeni her bir JS bileşenini işler, böylece ön uçta Livewire bileşeninize izole edilmiş JavaScript etkileşimi elde edersiniz. Ayrıca arka uç, ön uçta bulunan bileşene veri aktarabilir.

namespace App\Livewire;
 
use Ijpatricio\Mingle\Concerns\InteractsWithMingles;
use Ijpatricio\Mingle\Contracts\HasMingles;
use Livewire\Component;
 
class ChatApp extends Component implements HasMingles
{
    use InteractsWithMingles;
 
    public function component(): string
    {
        return 'resources/js/ChatApp/index.js';
    }
 
    public function mingleData()
    {
        return [
            'message' => 'Message in a bottle 🍾',
        ];
    }
 
    // ...
}

Bir karışım, InteractsWithMingles özelliğini kullanan bir Livewire bileşeni, bir yapıştırıcı JavaScript dosyası ve ön uç bileşen dosyasını içerir. Mingle bileşeninin React kullanıldığında nasıl görünebileceğine dair bir örnek:

// resources/js/ChatApp/index.js
import mingle from '@mingle/mingleReact'
import ChatApp from './ChatApp.jsx'
 
mingle('resources/js/ChatApp/index.js', ChatApp)
 
// resources/js/ChatApp/ChatApp.jsx
import React from 'react'
 
function ChatApp({wire, ...props}) {
 
    const message = props.mingleData.message
 
    console.log(message) // 'Message in a bottle 🍾'
 
    wire.doubleIt(2)
        .then(data => {
            console.log(data) // 4
        })
 
    return (
        <div>
            {/* <!-- Create something great! --> */}
        </div>
    )
}
 
export default ChatApp

Daha fazla bilgi edin

MingleJS'yi kullanmaya başlamak için MingleJS belgelerine gidin. MingleJS'nin yazarı aynı zamanda açık kaynaklı bir MingleJS demo uygulaması ve canınızı sıkmak istiyorsanız canlı bir demo da sağladı.

MingleJS Demo

MingleJS Demo Deneyin - https://minglejs-demo.unitedbycode.com
Laravel Livewire projesinde JS bileşenlerinin örnek kullanımı - https://github.com/ijpatricio/minglejs-demo

Kaynaklar:

Use Vue or React Components in a Livewire App with MingleJS - https://laravel-news.com/minglejs-vue-and-react-components-in-livewire
MingleJS - https://minglejs.unitedbycode.com
MingleJS Demo - https://minglejs-demo.unitedbycode.com
minglejs-demo - https://github.com/ijpatricio/minglejs-demo

Youtube Videoları

What is MingleJS? - https://www.youtube.com/watch?v=SVFTZcdWOsk
MingleJS - Utilizando Vue/React no Filament - https://www.youtube.com/watch?v=JeoLaOrHPDE