解决方案:ev.preventDefault在使用dispatch时不是一个函数



我在提交表单时遇到了一些奇怪的事情。当我按原样使用ev.prventDefault((时,一切都按预期进行,但当我在两行后向函数添加dispatch时,我得到了错误:ev.prventdefault不是函数。这是我的代码,提前谢谢!

const addReview = async ev => {
ev.preventDefault()
if (!email || !message) return alert('All fields are required')
await dispatch(addReview({email,message}))
console.log('Adding review!');
}
<form onSubmit={addReview}>
<input value={email} placeholder="Email" type="email" id="email" name="email" onChange={handleChange}/>
<textarea
name="message"
placeholder="Message"
rows="4"
cols="50"
onChange={handleChange}
value={message}
></textarea>
<button>Submit</button>
</form>

已解决:问题是由该组件和操作页面上的函数使用相同名称引起的,谢谢大家。

为什么用dispatch从内部调用addReview函数?

const addReview = async ev => {
ev.preventDefault()
if (!email || !message) return alert('All fields are required')
await dispatch(?????({email,message})) // This line should be changed
console.log('Adding review!');
}

最新更新