javascript - 按钮打破 react 形式

标签 javascript reactjs forms electron jsx

我想在表单中添加按钮以动态添加输入。但是我发现,如果我在表单中添加了一个仅记录到控制台的按钮(并且当我尝试添加输入时),它将记录日志,然后表单中断。我的Electron应用程序的前端窗口崩溃(不退出但变为灰色),并且在没有打开包含表单的对话框的情况下自动在同一页面上重新启动。
这是我的表单代码的一个片段:
TaskCreation.js

return (
        <div className="modal-body">
            {values.products.map((product, i) => {
                return(
                    <div key={i}>
                <Form.Row>
                    <Form.Group as={Col} controlId={"keywords-" + i}>
                        <Form.Label>Keywords (e.g. '+box +logo +tee')</Form.Label>

                        <Form.Control
                            value={product.keywords.join(' ')}
                            onChange={handleChange}
                        >
                        </Form.Control>
                    </Form.Group>
                </Form.Row>
...

            <div style={{ marginTop:'10px' }}>
                <button onClick={() => console.log(123)}>Add Product</button> // this breaks when clicked
            </div>
...
);
欢迎您提供任何帮助,让我知道我还应该提供什么其他信息。

最佳答案

我认为该按钮可激活表单中的“提交”。因此,您可以尝试一些方法。将属性type =“button”添加到您的按钮,和/或使用“.preventDefault()”。

const handleButton = (event) => {
  event.preventDefault()
  console.log(123)
}
<div style={{ marginTop:'10px' }}>
  <button type="button" onClick={handleButton}>Add Product</button> 
</div>

关于javascript - 按钮打破 react 形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63679487/

相关文章:

javascript - 如何在 jQuery 中获取 Request.ApplicationPath

javascript - Webpack 工作加载器 : How to make it work as a dependency?

javascript - 无法访问函数外部的变量值 [JavaScript]

reactjs - react、react-router 和异步数据加载

javascript - UnlockField 在 CakePHP 中不起作用

java - 表单未使用 Javascript 提交

javascript - 未捕获的类型错误打开对话框

node.js - React Native bundle 错误 : Module `scheduler` does not exist in the Haste module map

PHP $_POST 形式在 foreach 循环中具有多个变量输入

javascript - 没有路线匹配位置 "/rewards-store"