useEvent
This hook listen on emit required event.
import React, { useState, useCallback } from 'react';
import { useEvent, useEmit } from 'eventrix';
const UndoDeleteUserButton = () => {
    const [removedUser, setRemovedUser] = useState();
    const emit = useEmit();
    useEvent('removeUser', (eventData) => {
        const user = eventData;
        setRemovedUser(user);
    });
    const addUser = useCallback(() => {
        emit('addUser', removedUser);
        setRemovedUser(null);
    }, [emit, removedUser, setRemovedUser]);
    
    if (!removedUser) {
        return null;
    }
    return (
        <button onClick={addUser}>
            Undo user delete
        </button>
    );
}import { useEvent, useEmit } from 'eventrix';
import { User } from './interfaces';
const UndoDeleteUserButton = () => {
    const [removedUser, setRemovedUser] = useState<User | null>();
    const emit = useEmit<User>();
    useEvent('removeUser', (eventData: User) => {
        const user = eventData;
        setRemovedUser(user);
    });
    const addUser = useCallback(() => {
        if (removedUser) {
            emit('addUser', removedUser);
            setRemovedUser(null);
        }
    }, [emit, removedUser, setRemovedUser]);
    
    if (!removedUser) {
        return null;
    }
    return (
        <button onClick={addUser}>
            Undo user delete
        </button>
    );
}Last updated
Was this helpful?