Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. import React, { Component } from 'react';
  2. import logo from './logo.svg';
  3. import './App.css';
  4.  
  5. const list = [
  6. {
  7. title: 'React',
  8. url: 'https://facebook.github.io/react/',
  9. author: 'Jordan Walke',
  10. num_comments: 3,
  11. points: 4,
  12. objectID: 0,
  13. },
  14. {
  15. title: 'Redux',
  16. url: 'https://github.com/reactjs/redux',
  17. author: 'Dan Abramov, Andrew Clark',
  18. num_comments: 2,
  19. points: 5,
  20. objectID: 1,
  21. },
  22. ];
  23.  
  24. class App extends Component {
  25. constructor(props){
  26. super(props);
  27.  
  28. this.state = {
  29. list: list,
  30. };
  31.  
  32. this.onDismiss = this.onDismiss.bind(this);
  33. }
  34.  
  35. onDismiss(id){
  36. console.log(this);
  37. const isNotId = item => item.objectID !== id;
  38. const updatedList = this.state.list.filter(isNotId);
  39. this.setState({ list: updatedList });
  40. }
  41.  
  42. render() {
  43. const firstName = 'John';
  44. const lastName = 'Nguyen';
  45. return (
  46. <div className="App">
  47. {this.state.list.map(item => {
  48. return (
  49. <div key={item.objectID}>
  50. <span>
  51. <a href={item.url}>{item.title}</a>
  52. </span>
  53. <span>{item.author}</span>
  54. <span>{item.num_comments}</span>
  55. <span>{item.points}</span>
  56. <span>
  57. <button
  58. onClick={() => this.onDismiss(item.objectID)}
  59. type="button"
  60. >
  61. Dismiss
  62. </button>
  63. </span>
  64. </div>
  65. );
  66. })}
  67. </div>
  68. );
  69. }
  70. }
  71.  
  72. export default App;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement