response.js - показывать сообщение после и после отправки формы

При отправке формы я хочу показать «Пожалуйста, подождите ..» и при успешной отправке данные вернулись с сервера. Используя jQuery, это легко сделать. Но должен быть способ React, так как React не нравится такая прямая манипуляция с DOM - я думаю.1) Я прав ?2) Как показать сообщение на (не после) отправке формы?

var FormComp = React.createClass({

    handleSubmit:function(){

    var userName=this.refs.userName.getDOMNode().value.trim();
    var userEmail= this.refs.userEmail.getDOMNode().value.trim();

    if(!userName || !userEmail){

    return;

    }


    this.props.onFormSubmit({userName:userName, userEmail:userEmail,url:"/api/submit"});

    this.refs.userName.getDOMNode().value='';
    this.refs.userEmail.getDOMNode().value='';

    return;

    },

    render: function() {
    var result=this.props.data;

       return (
        <div className={result}>{result.message}</div>

         <form className="formElem" onSubmit={this.handleSubmit}>
            Name: <input type="text" className="userName" name="userName" ref="userName" /><br/>
            Email: <input type="text" className="userEmail" name="userEmail" ref="userEmail" /><br/>
            <input type="submit" value="Submit" />

         <form >

        </div>


        );
      }
    });


    var RC= React.createClass({

    getInitialState: function() {

     return {data: ""};
      },

    onFormSubmit:function(data){

       $.ajax({
          url: this.props.url,
          dataType: 'json',
          type: 'POST',
          data: data,
          success: function(data) {

            this.setState({data: data});

          }.bind(this),
          error: function(xhr, status, err) {

            console.error(this.props.url, status, err.toString());

          }.bind(this)
        });


    },
    render:function(){

    return <FormComp onFormSubmit={this.onFormSubmit} data={this.state.data}/>
    }
    });

    React.render(
      <RC/>,
      document.getElementById('content')
    );

Ответы на вопрос(1)

Ваш ответ на вопрос