Advertisement
Guest User

Untitled

a guest
Aug 21st, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. import React, { Component } from 'react'
  2. import { connect } from 'react-redux'
  3. import actions from '../../actions'
  4.  
  5. class AddFeed extends Component{
  6.  
  7. constructor(){
  8. super()
  9. this.state = {
  10. feed: {
  11. name:'',
  12. url:''
  13. }
  14. }
  15. }
  16.  
  17. updateFeed(field, event){
  18.  
  19. let feed = Object.assign({}, this.state.feed)
  20. feed[field] = event.target.value
  21.  
  22. this.setState({
  23. feed: feed
  24. })
  25. }
  26.  
  27. addFeed(event){
  28. event.preventDefault()
  29. this.props.createFeed(this.state.feed)
  30. .then((data)=>{
  31. console.log(JSON.stringify(data))
  32. this.setState({
  33. feed: {
  34. name: '',
  35. url: ''
  36. }
  37. })
  38. })
  39. .catch((error)=>{
  40. alert('Error: ' + error.message)
  41. })
  42. }
  43.  
  44.  
  45. render(){
  46. return(
  47. <form method="post" action="#">
  48. <input onChange={this.updateFeed.bind(this, 'name')} value={this.state.feed.name} type="text" placeholder="Name" />
  49. <input onChange={this.updateFeed.bind(this, 'url')} value={this.state.feed.url} type="text" placeholder="Feed URL" />
  50. <button onClick={this.addFeed.bind(this)}>Add Feed</button>
  51. </form>
  52. )
  53. }
  54. }
  55.  
  56. const stateToProps = (state) => {
  57. return {
  58. }
  59. }
  60.  
  61. const dispatchToProps = (dispatch) => {
  62. return {
  63. createFeed: (feed) => dispatch(actions.createFeed(feed))
  64. }
  65. }
  66.  
  67. export default connect(stateToProps, dispatchToProps)(AddFeed)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement