【发布时间】:2021-08-17 17:48:47
【问题描述】:
我有一个带有 Form 的功能性 React 组件。表单有多个文本输入
<Form onSubmit={submitHandler}>
<div className="mb-3">
<label className="form-label">Role</label>
<input type="text" onChange={(e)=>setRole(e.target.value)} className="form-control" id="role" />
</div>
<div className="mb-3">
<label className="form-label">Facebook Handle</label>
<input type="url" onChange={(e)=>setFacebookHandle(e.target.value)} className="form-control" id="FBHandle" />
</div>
<button type="submit" className="btn btn-primary">Submit</button>
</Form>
我正在使用 React useState 钩子并处理 onChange 事件。以下是相同的代码
const [role,setRole] = useState('')
const [facebookHandle,setFacebookHandle] = useState('')
每当我在文本字段中输入值时,DOM 似乎正在重新加载并将页面滚动到顶部(我上面的输入字段和标签很少)。每次我输入一些值时页面都会向上滚动,这会产生问题。我尝试使用 preventDefault() 函数。这也无济于事!我做错了什么?
【问题讨论】:
标签: javascript html reactjs react-native react-redux