braveheart1989

ListTown

Nov 29th, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function listTowns(selector) {
  2.         let Form = React.createClass({
  3.             render: function () {
  4.                 return <form onSubmit={this.props.onsubmit}>
  5.                     <input type="text" placeholder="town, town" />
  6.                     <input type="submit" defaultValue="Submit" />
  7.                 </form>
  8.             }
  9.         });
  10.         let List = React.createClass({
  11.             render: function () {
  12.                 let cities = this.props.cities.filter(c => c != '');
  13.                 cities = cities.map((c, i) => { return <li key={i}>{c}</li> });
  14.                 return <ul>{cities}</ul>
  15.             }
  16.         });
  17.         let App = React.createClass({
  18.             getInitialState: function () {
  19.                 return {
  20.                     cities: []
  21.                 }
  22.             },
  23.             onSubmitHandler: function (event) {
  24.                 event.preventDefault();
  25.                 let cities = event.target.children[0].value.split(/,\s+/);
  26.                 this.setState({
  27.                     cities: cities
  28.                 })
  29.             },
  30.             render: function () {
  31.                 return <div>
  32.                     <Form onsubmit={this.onSubmitHandler}/>
  33.                     <List cities={this.state.cities}/>
  34.                 </div>
  35.             }
  36.         });
  37.  
  38.         ReactDOM.render(
  39.                 <App/>,
  40.                 document.getElementById(selector)
  41.         );
  42.     }
Add Comment
Please, Sign In to add comment