在没有 onChange 的情况下响应文本表单字段

jac*_*kno 6 javascript architecture dry reactjs react-native

在 React / React Native 中是否有任何方法(请提供一个示例)让组件呈现一个毫秒计时器、一个提交按钮和一个满足以下条件的文本输入字段?

\n\n
    \n
  1. 用户可以在输入字段中键入并查看他正在键入的内容。
  2. \n
  3. 没有为输入字段分配事件处理程序
  4. \n
  5. 单击提交按钮时,程序会显示一个alert(),其中包含用户键入的文本。
  6. \n
  7. 该组件具有最初显示在输入字段中的初始状态值。
  8. \n
  9. 用户在打字时不会遇到意外行为。
  10. \n
\n\n

之前关于这个主题的问题让我想到了关于这个问题的更具体的问题(我希望你能明白它是如何相关的)。

\n\n

React 中最常接受的实现输入字段的模式建议始终使用 onChange 事件(请参阅文档),但我认为这会导致代码中的重复和噪音,因此我\xc2\xb4m 寻找更好的模式,其中当开发人员需要的只是一个输入表单字段时,\xc2\xb4t 不必考虑 onChange 行为。

\n\n

附注1: “状态值”是组件状态中的值。即“constructor(){ this.state = {value:\'初始值\'} };”。

\n\n

额外注释 2:计时器的目的是确保定期触发 render(),这使得显示初始“状态值”成为一项挑战,并允许用户在没有 onChange 处理程序的情况下正常键入相应地更新状态。

\n

小智 2

您正在寻找的称为不受控制的组件。

看看这里: https: //reactjs.org/docs/uncontrol-components.html