반응형
솔루션: ev.preventDefault는 디스패치를 사용할 때 함수가 아님
나는 양식을 제출할 때 이상한 점이 생겼다.ev.preventDefault()를 그대로 사용할 때는 모든 것이 예상대로 작동하지만 두 줄 뒤에 함수에 디스패치를 추가할 때는 ev.preventDefault가 함수가 아니라는 오류가 표시된다.여기 내 코드 미리 고마워!
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>
해결됨: 문제는 해당 구성요소와 조치 페이지에서 같은 이름을 사용하여 발생한 것으로, 모두 감사한다.
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!');
}
반응형
'programing' 카테고리의 다른 글
Vuejs - jquery 플러그인을 초기화해야 하는 시기 (0) | 2022.03.21 |
---|---|
Vue.js에서 이스케이프되지 않은 HTML 표시 (0) | 2022.03.20 |
각도 + Redex/ngrx: 상태 업데이트 대 양식 (0) | 2022.03.20 |
vuex mapGetters를 사용할 가치가 있는가? (0) | 2022.03.20 |
Object.observe 철수 및 RxJS 및 각도 2 (0) | 2022.03.20 |