我从React开始.js和我想做一个简单的表单,但在文档中我找到了两种方法.

first one使用Refs:

var CommentForm = React.createClass({
  handleSubmit: function(e) {
    e.preventDefault();
    var author = React.findDOMNode(this.refs.author).value.trim();
    var text = React.findDOMNode(this.refs.text).value.trim();
    if (!text || !author) {
      return;
    }
    // TODO: send request to the server
    React.findDOMNode(this.refs.author).value = '';
    React.findDOMNode(this.refs.text).value = '';
    return;
  },
  render: function() {
    return (
      <form className="commentForm" onSubmit={this.handleSubmit}>
        <input type="text" placeholder="Your name" ref="author" />
        <input type="text" placeholder="Say something..." ref="text" />
        <input type="submit" value="Post" />
      </form>
    );
  }
});

second one在react 组分中使用state:

var TodoTextInput = React.createClass({
  getInitialState: function() {
    return {
      value: this.props.value || ''
    };
  },

  render: function() /*object*/ {
    return (
      <input className={this.props.className}
      id={this.props.id}
      placeholder={this.props.placeholder}
      onBlur={this._save}
      value={this.state.value}
      />
    );
  },

  _save: function() {
    this.props.onSave(this.state.value);
    this.setState({value: ''
  });
});

我看不出这两种 Select 的利弊,如果有的话.

推荐答案

简短的版本:避免引用.


它们不利于可维护性,并失go 了所见即所得模型渲染提供的许多简单性.

你有表格.您需要添加一个重置表单的按钮.

  • 参考文献:
  • 状态

在输入中有一个CCV数字字段,在应用程序中有一些其他字段是数字.现在你需要强制用户只输入数字.

  • 参考文献:
  • 状态

呃,没关系,首相要我们做一个红盒阴影,如果它无效的话.

  • 参考文献:
  • 声明:

我们需要把控制权还给家长.数据现在已经存在于props 中,我们需要对变化做出react .

  • 参考文献:
  • 声明:

人们认为裁判比保持状态"更容易".这可能在前20分钟是正确的,但在我之后的经历中不是这样.把自己放在一个位置,说"是的,我会在5分钟内完成",而不是"当然,我会重写几个组件".

Reactjs相关问答推荐

无法使用#13;或br将新行设置为文本区域'"&"<>

为什么这个'Suspense'子组件在挂起promise解决后会丢失它的状态,而不是呈现?<>

在带有和设计的表格中禁用和取消选中复选框

安装后未渲染tailwind

REACTJS:在Reaction中根据路由路径更改加载器API URL

React,React Router,Joy UI:如何在导航离开和返回后禁用snackbar重新出现?

无法将react 路由状态从路由传递给子组件

如何在React中正确地将密码输入类型切换为文本或反之亦然(下一页)

如何使用Reaction Testing Library+Vitest正确更新单元测试中的输入?

为什么我得不到我想要的数据?

使用 MUI 菜单时添加新 html 元素时布局意外滚动跳转

我如何使用 React toastify (Promise) toast 和邮箱 js

我可以同时使用 Gatsby 和 NEXT.JS 吗?

useMemo 依赖项的行为

在按钮单击中将动态参数传递给 React Query

我应该使用 useEffect 来为 React Native Reanimated 的 prop 值变化设置动画吗?

如何在自定义 JSX 元素上声明属性?

如何定制 React 热 toastr ?

为什么 React 会多次调用我的应用程序的某些函数?

Rtk 查询无效标签不使数据无效