javascript - React意外调用函数

标签 javascript node.js reactjs ecmascript-6

这是我的登录组件:

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函数。

我的代码有问题吗?

编辑:删除classNames以便于查看

最佳答案

您正在每个渲染上调用submit函数。 onClick带有一个函数,但是您正在直接调用一个函数。

<button onClick={submit(user, pass)}>
   Submit
</button>


将被替换

<button onClick={()=>submit(user, pass)}>
   Submit
</button>

关于javascript - React意外调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61494738/

相关文章:

javascript - 如果目标文件不存在,则在 Node.js 中异步重命名文件

javascript - 无法过滤数组以在 react 应用程序上获取电影

html - 由于填充,Flexbox 无法将文本居中

javascript - Jquery TokenInput 未加载结果

javascript - addthis按钮消失了?

php - 检查ajax请求的失败和成功

javascript - 根据在 javascript 或 jquery 中选择的日期禁用日期选择器的先前日期

node.js - 如何让包管理器 npm 在 Mac OS X 上使用 bash 4?

node.js - 如何在 Firebase Cloud Functions 中捆绑和要求非 JS 依赖项?

javascript - React 创建按钮 - 非硬编码属性