我得到了钩子(Hook):
const [myName, setMyName] = useState("");
const myNameRef = useRef();
然后我有表格:
<form onSubmit={(e) => addVist(e, user.id)}>
<input type="text" name="myName" ref={myNameRef} onChange={e => setMyName(e.target.value)} />
<input type="submit" value="Run" />
</form>
和方法:
const addVist = (e, userId) => {
e.preventDefault();
console.log(myName)
//some code....
//clear value form
setMyName("");
//setMyName('');
//setMyName(e.target.value = "");
//myNameRef.current.value("");
}
但是 setMyName("")
不起作用 - 我仍然看到输入中的值。
最佳答案
您错过了将 myName
绑定(bind)为 input
标记的 value
属性。
<input type="text" name="myName" value={myName} ref={myNameRef} onChange={e => setMyName(e.target.value)} />
关于reactjs - 使用 useState 或 useRef (React) 将值清除到输入中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65070792/