UNPKG

use-action-cable

Version:

A React hook for using ActionCable within components.

22 lines (15 loc) 533 B
// libraries import { useEffect, useContext } from 'react'; // ActionCableHooks import { ActionCableContext } from './context.jsx'; export const useActionCable = (params, handlers = {}) => { const { conn } = useContext(ActionCableContext); const diff = JSON.stringify({ params, url: conn && conn._url }); useEffect(() => { let subscription; if (params && conn) { subscription = conn.subscriptions.create(params, handlers); } return () => subscription && subscription.unsubscribe(); }, [diff]); };