我在提交表单时遇到了一些奇怪的事情。当我按原样使用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!');
}