React Base Fiddle (JSX)

Starting point for creating JSFiddles with React. This uses React with Addons.

by Abdulsemed Lezin

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js"></script>
<script src="https://npmcdn.com/react@latest/dist/react-with-addons.js"></script>
<script src="https://npmcdn.com/react-dom@latest/dist/react-dom.js"></script>
<script src="https://facebook.github.io/react/js/jsfiddle-integration-babel.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

<div id="container">
    <!-- This element's contents will be replaced with your component. -->
</div>

JavaScript 1.7

class EducationDetails extends React.Component {
          constructor(props) {
            super(props);
          }
          
          render() {
            return (<div>
                 <p>FirstName: <input type="text" value={this.props.value || ''} /></p>
                   <p>LastName:  <input type="text" value={this.props.value || ''} /></p>
                  </div>
            );
          }
        }
        
        
        
    class App extends React.Component {
       constructor(props) {
                super(props);
                this.state = {value: [], count: 1}; //initial you'll have one form
              }
            
              addMore(){
                this.setState({count: this.state.count+1})//on click add more forms
              }
              
                removeClick(){
                   this.setState({
                              count: this.state.count - 1
                  })
               }
              
              displayForm(){
                 let forms = [];
                 for(let i = 0; i < this.state.count; i++){
                           forms.push(
                           <div key={i}>
                               <EducationDetails value={this.state.value[i] || ''} />
                           </div>
                        )
                 }
                 return forms || null;
              }
            
              render() {
                return (
                  <form >
                      {this.displayForm()}        
                      <input type='button' value='add more' onClick={this.addMore.bind(this)}/>
                      <input type='button' value='remove' onClick={this.removeClick.bind(this)}/>
                  </form>
                );
              }
            }
            
            ReactDOM.render(<App />, document.getElementById('container'));