ReactJs向屏幕提交表单数据

ReactJs submitting form data to the screen

本文关键字:表单 数据 提交 屏幕 ReactJs      更新时间:2023-09-26

我想要一种在ReactJs中向浏览器提交表单的方法。

var ToDoForm = React.createClass({
    getInitialState: function() {
      return {text: ''};
    },
    handleChange: function(event) {
      this.setState({text: event.target.value});
    },
    handleSubmit: function(e) {
      e.preventDefault();
      return (
            <h2> hey </h2>
      )
    },
    render: function() {
      return (
          <div>
            <h1> todos </h1>
            <form className="todoForm" onSubmit={this.handleSubmit}>
              <input
                  type="text"
                  placeholder="Type out a task"
                  value={this.state.text}
                  onChange={this.handleChange}
                  />
              <input
                  type="submit"
                  value="Submit todo"
                  />
            </form>
          </div>
      );
    }
  });

我有一个函数handleSubmit,当表单提交时,我想要它只在浏览器中打印单词hey作为标题2。我知道这不是很明智,也没有任何意义,但我只想看到它发挥作用,然后我会用它来回报一些更有意义的东西。到目前为止,当我点击提交按钮时,没有发生任何事情。有什么解决方案吗?

同样值得一提的是,这个问题(在Reactjs中获取表单数据)。我想要这个家伙基本上在做什么,但不是控制台。将实际打印记录到屏幕上,只是为了澄清我是否不清楚

使用状态来处理它?类似的东西

        getInitialState: function(){
        return{
        submitted: false
        },
        handleSubmit: function(e){
            e.preventDefault();
        this.setState({  subbmitted: true});
        },

       render: function(){
           return (
               <div>
                    <h1> todos </h1>
                   {!!this.state.submitted ?
                  <div>
                     <h2> {'Hey'} </h2>
                 </div>
                 :
                    <form className="todoForm" onSubmit={this.handleSubmit}>
                      <input
                          type="text"
                          placeholder="Type out a task"
                          value={this.state.text}
                          onChange={this.handleChange}
                          />
                      <input
                          type="submit"
                          value="Submit todo"
                          />
                    </form>
                  </div>
)