Хуки вебхуков
Хук useWebhook предоставляет методы для работы с вебхуками в React приложениях.
useWebhook()
Возвращаемые методы
trigger()— вызов вебхукаisTriggering— состояние выполненияerror— ошибка выполнения
Пример
import { useWebhook } from '@emd-cloud/react-components';
function WebhookTrigger() {
const { trigger, isTriggering, error } = useWebhook();
const handleTrigger = async () => {
try {
await trigger('webhook-id', {
event: 'user_action',
data: { userId: '123', action: 'click' }
});
console.log('Вебхук вызван успешно');
} catch (err) {
console.error('Ошибка:', err);
}
};
return (
<div>
<button onClick={handleTrigger} disabled={isTriggering}>
{isTriggering ? 'Отправка...' : 'Вызвать вебхук'}
</button>
{error && <div className="error">{error.message}</div>}
</div>
);
}
Интеграция с формами
function ContactForm() {
const { trigger } = useWebhook();
const [formData, setFormData] = useState({
name: '',
email: '',
message: ''
});
const handleSubmit = async (e) => {
e.preventDefault();
try {
await trigger('contact-form-webhook', formData);
alert('Сообщение отправлено!');
setFormData({ name: '', email: '', message: '' });
} catch (error) {
alert('Ошибка отправки');
}
};
return (
<form onSubmit={handleSubmit}>
<input
value={formData.name}
onChange={(e) => setFormData({ ...formData, name: e.target.value })}
placeholder="Имя"
required
/>
<input
type="email"
value={formData.email}
onChange={(e) => setFormData({ ...formData, email: e.target.value })}
placeholder="Email"
required
/>
<textarea
value={formData.message}
onChange={(e) => setFormData({ ...formData, message: e.target.value })}
placeholder="Сообщение"
required
/>
<button type="submit">Отправить</button>
</form>
);
}
Следующие шаги
- 🚀 Изучите Create App
- 💡 Посмотрите примеры