Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. import React, { Component } from 'react';
  2. import { observer } from 'mobx-react';
  3. import DevTools from 'mobx-react-devtools';
  4.  
  5. @observer
  6. export default class App extends Component {
  7. state = {
  8. value: '',
  9. };
  10.  
  11. onSubmit = (e) => {
  12. e.preventDefault();
  13. console.log(this.props);
  14. const { appState: { posts: { addPost } } } = this.props;
  15. addPost({ title: this.state.value });
  16. this.input.value = '';
  17. };
  18.  
  19. onChange = ({ target: { value } }) => this.setState({ value });
  20.  
  21. input = null;
  22.  
  23. renderPosts() {
  24. const { appState: { posts: { posts } } } = this.props;
  25. return posts.map(({ body, title }) => (
  26. <div>
  27. <h1>{title}</h1>
  28. <p>{body}</p>
  29. </div>
  30. ))
  31. }
  32.  
  33. render() {
  34. const { appState: { posts: { posts } } } = this.props;
  35. return (
  36. <div>
  37. <h1>Hello</h1>
  38. <div>You have {posts.length} posts</div>
  39. <form onSubmit={this.onSubmit}>
  40. <input
  41. type="text"
  42. onChange={this.onChange}
  43. ref={e => { this.input = e; }}
  44. />
  45. </form>
  46. {this.renderPosts()}
  47. <DevTools />
  48. </div>
  49. );
  50. }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement