Advertisement
Guest User

Untitled

a guest
Aug 11th, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import axios from 'axios/dist/axios';
  4.  
  5. class Info extends React.Component {
  6.     render() {
  7.         return (
  8.             <div>
  9.                 <h1>Manage Posts with React!</h1>
  10.                 <p>Click The title of the post to edit it.</p>
  11.             </div>
  12.         );
  13.     }
  14. }
  15.  
  16. class Post extends React.Component {
  17.  
  18.  
  19.  
  20.     render() {
  21.  
  22.         return (
  23.             <div className="post">
  24.                 <div className="delete-button">
  25.                 <button onClick={() => this.props.deletePost(this.props.id) }>Delete</button>
  26.                 </div>
  27.                 <h3 value="edit" onClick={() => this.props.editPost(this.props.id) }>{ this.props.title }</h3>
  28.                 <p>Phasellus posuere ultricies vestibulum. Ut pellentesque eros dictum sem lacinia gravida. Aliquam tempor mauris ac est ornare, at suscipit ante suscipit. Aenean ligula est, tristique vel neque non, pharetra congue mauris. Integer vulputate vel dolor sit amet pretium. Nunc quis imperdiet neque.</p>
  29.  
  30.             </div>
  31.         );
  32.     }
  33. }
  34.  
  35.  
  36. class App extends React.Component {
  37.     constructor() {
  38.         super();
  39.         this.state = {
  40.          posts: [],
  41.          editing: {},
  42.          action: null,
  43.         };
  44.       }
  45.  
  46.       handleClick(i) {
  47.         var target = this.state.posts[i];+
  48.             console.log('target');
  49.         this.setState({
  50.             editing: target,
  51.             action: action
  52.         });
  53.  
  54.         console.log(this);
  55.       }
  56.  
  57.       editPost(i) {
  58.         console.log('edit' + i);
  59.       }
  60.  
  61.       deletePost(i) {
  62.         console.log('delete' + i);
  63.       }
  64.     componentDidMount() {
  65.         var _this = this;
  66.             this.serverRequest =
  67.               axios
  68.                 .get("/wp-json/wp/v2/posts")
  69.                 .then(function(result) {
  70.                     console.log(result);
  71.                   _this.setState({
  72.                     posts: result.data
  73.                   });
  74.  
  75.                 })
  76.     }
  77.     componentWillUnmount() {
  78.  
  79.     }
  80.  
  81.     renderPost(i) {
  82.         console.log(i);
  83.         const post = this.state.posts[i];
  84.  
  85.         return (
  86.             <Post
  87.                 title={post.title.rendered}
  88.                 onClick={() => this.props.onClick(i)}
  89.                 deletePost={this.deletePost(i)}
  90.                 editPost={this.editPost(i)}
  91.              />
  92.  
  93.         );
  94.     }
  95.  
  96.     render() {
  97.  
  98.         return (
  99.             <div>
  100.                 {this.state.posts.map((item, index) => (
  101.                     <div>
  102.                         {this.renderPost(index)}
  103.                     </div>
  104.                 ))}
  105.             </div>
  106.         );
  107.     }
  108.  
  109. }
  110.  
  111. ReactDOM.render(
  112.     <App />,
  113.     document.getElementById('root')
  114. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement