Guest User

Untitled

a guest
Dec 11th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. const skillLists = this.state.skills.map(function(val){
  2. return <li>{val}</li>
  3. });
  4.  
  5. const skillLists = this.state.skills.map(function(val){
  6. return <li>{val} <button onClick={this.removeSkill}>x</button></li>
  7. });
  8.  
  9. import React, { Component } from 'react';
  10. import ReactDOM from 'react-dom';
  11.  
  12. class Skills extends Component {
  13. constructor(props) {
  14. super(props);
  15.  
  16. this.state = {
  17. skills : ["Frost Bolt", "Arcane Missle"],
  18. skillField : ''
  19. };
  20.  
  21. this.addSkill = this.addSkill.bind(this);
  22. this.removeSkill = this.removeSkill.bind(this);
  23. this.handleChange = this.handleChange.bind(this);
  24. this.clearField = this.clearField.bind(this);
  25. }
  26.  
  27. clearField() {
  28. this.state.skillField = '';
  29. }
  30.  
  31. handleChange(event) {
  32. this.setState({
  33. skillField : event.target.value
  34. });
  35. }
  36.  
  37. addSkill() {
  38. this.state.skills.push(this.state.skillField);
  39. this.setState({
  40. skills: this.state.skills
  41. });
  42. console.log(this.state.skills);
  43. this.clearField();
  44. }
  45.  
  46. removeSkill() {
  47. console.log("skillremoved");
  48. }
  49.  
  50. render() {
  51. const skillLists = this.state.skills.map(function(val){
  52. return <li>{val} <button onClick={this.removeSkill}>x</button></li>
  53. });
  54. return (
  55. <div>
  56. <input onChange={this.handleChange} value={this.state.skillField} />
  57. <button onClick={this.addSkill}>Add Skill</button>
  58. <h4>Skills</h4>
  59. <ul>{skillLists}</ul>
  60. </div>
  61. );
  62. }
  63. }
  64.  
  65. export default Skills;
Add Comment
Please, Sign In to add comment