【发布时间】:2020-08-13 02:59:32
【问题描述】:
这是我的登录组件:
const Login = () => {
const [user, setUser] = useState("");
const [pass, setPass] = useState("");
return (
<div>
<p>Login</p>
<input
type="text"
onChange={(e) => {
setUser(e.target.value);
}}
/>
<input
type="password"
onChange={(e) => {
setPass(e.target.value);
}}
/>
<button onClick={submit(user, pass)}>
Submit
</button>
</div>
);
};
它呈现在我的网页上,但每当我输入这两个:文本和密码时,它都会调用submit() 函数。查看我的代码,我只设置了 onClick 来调用submit 函数。
我的代码有问题吗?
编辑:删除类名以便于查看
【问题讨论】:
-
另一种选择是将您的
submit函数转换为像这样的柯里化函数 -const submit = (user, pass) => () => {...} -
为我工作,但我想我会在 onClick 中使用 () => {...},因为我会因为在我的函数中有双参数受体而感到困惑。谢谢顺便说一句!
标签: javascript node.js reactjs ecmascript-6