javascript - 为什么我的 react 表单无法在codesandbox上运行

标签 javascript reactjs forms codesandbox

我在这里创建了一个简单的表单https://codesandbox.io/s/xenodochial-frog-7squw

它说您在没有 onChange 处理程序的情况下向表单字段提供了 value 属性。这将呈现一个只读字段。如果该字段应该是可变的,请使用 defaultValue

但是有一个 onChange 处理程序被传递,所以我不明白。此外,当我点击提交时,页面会重新加载,即使调用了 PreventDefault()

谢谢

最佳答案

问题是这一行:

const { str, handleChange, handleSubmit } = this.state;

handleChangehandleSubmit 不是状态的一部分,而是实例方法,因此您可以像这样传递它们:

    return (
      <div className="App">
        <Form str={str} onChange={this.handleChange} onSubmit={this.handleSubmit} />
        <Table />
      </div>
    );

关于javascript - 为什么我的 react 表单无法在codesandbox上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59787379/

相关文章:

javascript - 使用一个 if else 语句为不同上下文中的进度条着色

javascript - console.log() 不输出 jQuery 选择对象的 HTML

python - Django-根据查询集生成表单

php - 如何在提交联系表单后重定向到感谢页面 - Wordpress 高级主题联系我们 php 模板

javascript - Mocha 在 WebStorm 11 中描述 "require() is missing"

javascript - 通过id访问元素的javascript不同

javascript - ReactJS:为什么一种状态的值不同?

javascript - 函数 setState 中的事件目标为 null

reactjs - 在 Typescript 中动态创建 React 元素

ruby-on-rails - Rails/Ajax/错误处理