【发布时间】:2021-05-04 11:50:59
【问题描述】:
如何在不使用onChange 的情况下获取输入值?原因是我在加载时使用useEffect 为表单设置动画,使用onChange 会在每个键入的字母上重置动画,这是不希望的。我只想在单击提交按钮时获取输入值(或submitHandler,无论工作如何)。
这是我现在正在使用的:
const [email, setEmail] = useState('')
<input
type="email"
className="loginPage-form-item-input"
name='email'
value={email}
onChange={(e) => setEmail(e.target.value)}
required
/>
const submitHandler = (e) => {
e.preventDefault()
dispatch(login(email, password))
}
我曾尝试使用ref 和useRef,但我不太了解它们,并且出现Function components cannot have string refs 之类的错误。
编辑(使用效果代码):
const formRef = useRef(null)
useEffect(() => {
gsap.from(formRef.current, {duration: 1, y:100, opacity: 0, ease: 'power2.out'})
})
在表单 div 上使用 ref={formRef}
【问题讨论】:
-
编辑后的帖子显示。