import React, { Component } from "react"; import { connect } from "react-redux"; import { changeInputValue, createPost, getPosts, resetPostForm, removePost, showEditForm, cancelUpdate, update, handleChangeEditForm } from "../actions/remote-todo"; import Input from "../components/input"; import Button from "../components/button/button"; import Loder from "../components/HOC/loader"; import Modal from "../components/modal"; export class RemoteTodo extends Component { state = { open: false }; close = () => this.setState({ open: false }); open = () => this.setState({ open: true }); componentDidMount() { this.props.getPosts(); } showEditModalForm = id => { this.props.showEditForm(id); this.open(); }; udatePostHandler = () => { const { sendDataObject, update } = this.props; update(sendDataObject); this.close(); }; cancelUpdatePostHandler = () => { const { cancelUpdate } = this.props; cancelUpdate(); this.close(); }; render() { const { changeInputValue, myForm, createPost, postList, resetPostForm, sendDataObject, removePost, isFetching, editForm, editFormField, handleChangeEditForm } = this.props; return (
{myForm.map(el => { return ( ); })}
{postList.map(el => (
))}
{editForm && (
)}
{editFormField.map(el => { return ( ); })}
); } } const mapStateToProps = state => { return { myForm: state.remote_todo.myForm, postList: state.remote_todo.postList, sendDataObject: state.remote_todo.sendDataObject, isFetching: state.remote_todo.isFetching, editForm: state.remote_todo.editForm, editFormField: state.remote_todo.editFormField }; }; export default connect( mapStateToProps, { changeInputValue, createPost, getPosts, resetPostForm, removePost, showEditForm, cancelUpdate, handleChangeEditForm, update } )(RemoteTodo);