在 Formik onSubmit 中使用 Redux Hooks
Using Redux Hooks in a Formik onSubmit
我目前正在为我的大学做作业。
我们应该将 Action Creators 和 Reducers 集成到我们的 React 项目中。
该项目是关于拥有一个货币交易表格,其中包含一个显示所有货币交易的列表。
Image of the Application
我们在 formik 的帮助下构建了表单,我的代码如下所示。
const formik = useFormik({
initialValues: { ownwho: '', username: '', amount: '' },
validationSchema: validationSchema,
onSubmit: values => dispatch(createMoneyTransaction(1,2,3))
})
表单为普通表单,有handleSubmit和handleChange
<form className={styles.moneytransaction_form} onSubmit={formik.handleSubmit}>
<div className={styles.radio_wrapper}>
<div>
<label>I owe somebody</label>
<Input type='radio' name='ownwho' value='IOweYou' onChange={formik.handleChange} />
</div>
<div>
<label>Somebody owes me</label>
<Input type='radio' name='ownwho' value='YouOweMe' onChange={formik.handleChange} />
</div>
</div>
我的 Dispatch 目前看起来像这样
const dispatch = useDispatch()
动作创作者
Image of the Action Creator for the Post Method
现在我有以下问题。
在 formik onsubmit 句柄内部使用调度挂钩时,我通过反应得到了这个错误
Image of the Error
我确实认为这是因为钩子必须在功能组件中,而 formik 可能不是。
如果有人能帮我解决这个问题,我会很高兴,因为我不完全理解这个钩子与 formik 一起使用的问题是什么。
您没有遵循钩子规则(在本例中,useDispatch()
是钩子)。要么是因为您没有在正确的位置调用挂钩,要么是因为您可能有条件地或从非功能组件调用它。
我目前正在为我的大学做作业。
我们应该将 Action Creators 和 Reducers 集成到我们的 React 项目中。
该项目是关于拥有一个货币交易表格,其中包含一个显示所有货币交易的列表。
Image of the Application
我们在 formik 的帮助下构建了表单,我的代码如下所示。
const formik = useFormik({
initialValues: { ownwho: '', username: '', amount: '' },
validationSchema: validationSchema,
onSubmit: values => dispatch(createMoneyTransaction(1,2,3))
})
表单为普通表单,有handleSubmit和handleChange
<form className={styles.moneytransaction_form} onSubmit={formik.handleSubmit}>
<div className={styles.radio_wrapper}>
<div>
<label>I owe somebody</label>
<Input type='radio' name='ownwho' value='IOweYou' onChange={formik.handleChange} />
</div>
<div>
<label>Somebody owes me</label>
<Input type='radio' name='ownwho' value='YouOweMe' onChange={formik.handleChange} />
</div>
</div>
我的 Dispatch 目前看起来像这样
const dispatch = useDispatch()
动作创作者
Image of the Action Creator for the Post Method
现在我有以下问题。
在 formik onsubmit 句柄内部使用调度挂钩时,我通过反应得到了这个错误
Image of the Error
我确实认为这是因为钩子必须在功能组件中,而 formik 可能不是。
如果有人能帮我解决这个问题,我会很高兴,因为我不完全理解这个钩子与 formik 一起使用的问题是什么。
您没有遵循钩子规则(在本例中,useDispatch()
是钩子)。要么是因为您没有在正确的位置调用挂钩,要么是因为您可能有条件地或从非功能组件调用它。