Я пытаюсь заставить работать редук-сагу с крючками на форме, но я не могу найти способ заставить ее работать так, как я хочу. консоль говорит мне, что мне нужно выполнить ловушку только в моем компоненте bodynal, что я и делаю, но оно не работает.
То, что я пытался:
- Вызов ловушку в component
- Вызывает ловушку внутри обратного вызова onSubmit formik
- Пытался вернуть обратный вызов, чтобы избежать мгновенного вызова моего пользовательского ловушки в
core/notifications/index.ts
Вот крючок:
function useUpdateNotifications(subscriptions: FormatedSubscription) {
const dispatch = useDispatch();
const formatSubscriptions = valuesIn(subscriptions);
return () =>
dispatch(Events.updateNotifications(formatSubscriptions as Subscription[]));
}
и место, где я его называю:
const formik = useFormik({
initialValues: formatedValues,
onSubmit: (values: FormatedSubscription) => {
Core.updateNotifications(values);
}
});
Здесь вы можете найти песочницу с той же проблемой https://codesandbox.io/s/hook-formik-sagas-issues-3pq62
core/notifications/index.tsx
Мои хуки для уведомлений и все логи c есть. У меня есть саги, селекторы, а затем я создаю свои хуки с помощью useDispatch (useSelector et c). Крюки useUpdateNotifications
(используемые для отправки события, подключенного к одной из моих саг), например, вызываются в src/index.tsx
, когда я отправляю форму formik. Но когда я отправляю свою форму, консоль выдает предупреждение о том, что хуки должны вызываться внутри тела компонента функции. Это именно то, что я сделал.
У вас есть какие-нибудь советы?