反应表格是否需要OnChange?

时间:2019-05-09 13:21:16

标签: reactjs jsx

这只是关于反应的理论问题。

我目前正在学习ReactJS,它相当不错,但是对此我感到困惑,很想得到回应。

在我在线上找到的每个教程中(大多数教程已经使用多年,并且我正在使用React 16.8,它应该是最新版本),每个人都指出在创建表单组件时使用onChange很重要。在这些教程中,如果没有onChange事件,则无法在表单内键入任何内容。

我感到奇怪的是,我可以输入文本,并且现在一切正常,而无需使用任何onChange事件。

我的问题是这些:

  • 它仍然是强制性的吗?
  • 使用它是一种好习惯吗?
  • 我应该忽略它,而没有它吗?

1 个答案:

答案 0 :(得分:0)

我认为实用的答案是onChange不是必需的,但被认为是最佳实践。使用React维护表单状态会创建一个真实的来源,并在以后需要验证时提供帮助。

查看有关受控组件的React文档:

  

在HTML中,诸如<input><textarea><select>之类的表单元素通常会维护自己的状态并根据用户输入对其进行更新。在React中,可变状态通常保留在组件的state属性中,并且仅使用setState()更新。

     

我们可以通过使React状态成为“真理的唯一来源”来将两者结合起来。然后,呈现表单的React组件还控制后续用户输入时该表单中发生的事情。其值由React这样控制的输入表单元素称为“受控组件”。

Controlled Components Docs