import React, { Component } from 'react'; import axios from 'axios'; import './FullPost.css'; import Spinner from '../../../components/Spinner/Spinner'; class FullPost extends Component { state = { loadedPost: null, loading: false } componentDidMount() { console.log(this.props) this.loadData(); } componentDidUpdate() { this.loadData(); } loadData() { if (this.props.match.params.id) { if (!this.state.loadedPost || (this.state.loadedPost && this.state.loadedPost.id !== +this.props.match.params.id)) { this.setState({ loading: true }) axios.get('https://jsonplaceholder.typicode.com/posts/' + this.props.match.params.id) .then(res => { // console.log(res); this.setState({ loadedPost: res.data, loading: false }); }) } } } render() { let post =

Please select a Post!

; if (this.props.match.params.id || this.state.loading) { post = ; } if (this.state.loadedPost && !this.state.loading) post = (

{this.state.loadedPost.title}

{this.state.loadedPost.body}

); return post; } } export default FullPost;