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?