如何在React JS中使用Laravel echo?

时间:2019-09-29 06:36:16

标签: reactjs pusher laravel-echo

我正在使用laravel中的pusher创建一个聊天应用程序,并使用react js作为前端。现在当我在react js中使用Echo.channel时,它表明通道未定义。如何解决此问题或任何其他方式这个???

这在我的App.js中:

  

从“ laravel-echo”导入Echo

     

window.Pusher = require('pusher-js');

     

window.Echo = new Echo({       广播员:“推”       密钥:process.env.MIX_PUSHER_APP_KEY,       群集:process.env.MIX_PUSHER_APP_CLUSTER,       forceTLS:true});

这是在我的js chatUi中:

  

听=()=> {

    window.Echo.channel('my_channel');
    channel.listen('FormSubmitted', function (data) {
        alert(JSON.stringify(data));
    });

}

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题...就我而言,我为我的React应用程序(resources/js/react.js)有一个单独的js文件,其中我不需要bootstrap.js。因此,我只是将导入回显复制到了我的react.js文件中。我的整个resources/js/react.js文件在下面。

import Echo from 'laravel-echo'

window.Pusher = require('pusher-js');

window.Echo = new Echo({
    broadcaster: 'pusher',
    key: process.env.MIX_PUSHER_APP_KEY,
    cluster: process.env.MIX_PUSHER_APP_CLUSTER,
    encrypted: true
});

import Component from './react/index';

记住要通过运行npm run dev

重新编译