PLease briefly explain me about this code. How does it works? import React from 'react'; class ContactForm extends React.Component {  constructor(props) { super(props); this.state = { name: '', storageType: '', maxItem: '', resourceName: '', maxResource: '', currentResource: '' };   this.handleNameChange = this.handleNameChange.bind(this); this.handleStorageTypeChange = this.handleStorageTypeChange.bind(this); this.handleMaxItemChange = this.handleMaxItemChange.bind(this); this.handleResourceNameChange = this.handleResourceNameChange.bind(this); this.handleMaxResourceChange = this.handleMaxResourceChange.bind(this); this.handleCurrentResourceChange = this.handleCurrentResourceChange.bind(this); this.handleSubmit = this.handleSubmit.bind(this);  }  handleNameChange(event) { const target = event.target; const value = target.type === 'checkbox' ? target.checked : target.value; const name = target.name; this.setState({ name: value }) console.log('Change detected. State updated' + name + ' = ' + value);  }  handleStorageTypeChange(event) { const target = event.target; const value = target.type === 'checkbox' ? target.checked : target.value; this.setState({ storageType: value })  }  handleMaxItemChange(event) { const target = event.target; const value = target.type === 'checkbox' ? target.checked : target.value; this.setState({ maxItem: value })  }  handleResourceNameChange(event) { this.setState({ resourceName: event.target.value })  }  handleMaxResourceChange(event) { this.setState({ maxResource: event.target.value })  }  handleCurrentResourceChange(event) { this.setState({ currentResource: event.target.value })  }  handleSubmit(event) { alert('A form was submitted: ' + this.state.name + ' // ' + this.state.email); event.preventDefault();  }  render() { return ( Inventory Name Storage Type Max Item Capacity Resources Resource Name Max Number of Resources Current Number of Resources )  } } class MainTitle extends React.Component {  render() { return ( Add Inventory )  } } export default class App extends React.Component {  render() { return ( )  } }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

PLease briefly explain me about this code. How does it works?

import React from 'react';
class ContactForm extends React.Component {
 constructor(props) {
  super(props);
  this.state = {
   name: '',
   storageType: '',
   maxItem: '',
   resourceName: '',
   maxResource: '',
   currentResource: ''
  };
  this.handleNameChange = this.handleNameChange.bind(this);
  this.handleStorageTypeChange = this.handleStorageTypeChange.bind(this);
  this.handleMaxItemChange = this.handleMaxItemChange.bind(this);
  this.handleResourceNameChange = this.handleResourceNameChange.bind(this);
  this.handleMaxResourceChange = this.handleMaxResourceChange.bind(this);
  this.handleCurrentResourceChange = this.handleCurrentResourceChange.bind(this);
  this.handleSubmit = this.handleSubmit.bind(this);
 }
 handleNameChange(event) {
  const target = event.target;
  const value = target.type === 'checkbox' ? target.checked : target.value;
  const name = target.name;

  this.setState({
   name: value
  })
  console.log('Change detected. State updated' + name + ' = ' + value);

 }
 handleStorageTypeChange(event) {
  const target = event.target;
  const value = target.type === 'checkbox' ? target.checked : target.value;

  this.setState({
   storageType: value
  })
 }
 handleMaxItemChange(event) {
  const target = event.target;
  const value = target.type === 'checkbox' ? target.checked : target.value;

  this.setState({
   maxItem: value
  })
 }
 handleResourceNameChange(event) {
  this.setState({
   resourceName: event.target.value
  })
 }
 handleMaxResourceChange(event) {
  this.setState({
   maxResource: event.target.value
  })
 }
 handleCurrentResourceChange(event) {
  this.setState({
   currentResource: event.target.value
  })
 }
 handleSubmit(event) {
  alert('A form was submitted: ' + this.state.name + ' // ' + this.state.email);
  event.preventDefault();
 }
 render() {
  return (
   <div>
    <form onSubmit={this.handleSubmit}>
     <div className="form-group">
      <h1> Inventory </h1>
      <label for="nameInput">Name</label>
      <input type="text" name="name" value={this.state.name} onChange={this.handleNameChange}
       className="form-control" id="nameInput" placeholder="Name" />
     </div>
     <div className="form-group">
      <label for="storageType">Storage Type</label>
      <input name="storage" type="text" value={this.state.storageType} onChange={this.handleStorageTypeChange}
       className="form-control" id="storageType" placeholder="Storage Type" />
     </div>
     <div className="form-group">
      <label for="nameInput">Max Item Capacity</label>
      <input type="text" name="maxItem" value={this.state.maxItem} onChange={this.handleMaxItemChange}
       className="form-control" id="nameInput" placeholder="Max Item Capacity" />
     </div>
     <div className="form-group">
      <h1> Resources </h1>
      <label for="nameInput">Resource Name</label>
      <input type="text" name="resourceName" value={this.state.resourceName} onChange={this.handleResourceNameChange}
       className="form-control" id="nameInput" placeholder="Resource Name" />
     </div>
     <div className="form-group">
      <label for="nameInput">Max Number of Resources</label>
      <input name="maxResource" value={this.state.maxResource} onChange={this.handleMaxResourceChange}
       className="form-control" id="nameInput" placeholder="Max Number of Resources" />
     </div>
     <div className="form-group">
      <label for="nameInput">Current Number of Resources</label>
      <input type="text" name="currentResource" value={this.state.currentResource} onChange={this.handleCurrentResourceChange}
       className="form-control" id="nameInput" placeholder="Current number of Resources" />
     </div>
    </form>
   </div>
  )
 }

}
class MainTitle extends React.Component {
 render() {
  return (
   <h1> Add Inventory </h1>
  )
 }
}
export default class App extends React.Component {
 render() {
  return (
   <div>
    <MainTitle />
    <ContactForm />
   </div>
  )
 }

}

Expert Solution
steps

Step by step

Solved in 4 steps with 2 images

Blurred answer
Knowledge Booster
Introduction to Interface
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education