Created
June 25, 2017 14:22
-
-
Save anonymous/2bb6da98703aada60da03d6a93a5dd42 to your computer and use it in GitHub Desktop.
No puedo obtener parametros de la URL
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Error que se muestra en el browser | |
15 | componentDidMount(){ | |
> 16 | const url = `http://localhost:5000/api/posts/${this.props.params.id}`; | |
17 | axios.get(url) | |
18 | .then((response) => { | |
19 | console.log(response.data); | |
Código fuente del component | |
import React, {Component} from 'react'; | |
import axios from 'axios'; | |
import {Well, Button} from 'react-bootstrap'; | |
import {Link} from 'react-router-dom'; | |
export default class PostDetail extends Component{ | |
constructor(props, context){ | |
super(props, context); | |
console.log(props); | |
this.state = { | |
post: {} | |
} | |
} | |
componentDidMount(){ | |
const url = `http://localhost:5000/api/posts/${this.props.params.id}`; | |
axios.get(url) | |
.then((response) => { | |
console.log(response.data); | |
this.setState({ | |
post: response.data | |
}) | |
}) | |
.catch((error) => { | |
console.log(error); | |
}) | |
} | |
render(){ | |
const {post} = this.state; | |
return ( | |
<div> | |
<h2 className="text-center text-muted">{post.title}</h2> | |
<Well> | |
{post.content} | |
<hr/> | |
<Link to='/posts'> | |
<Button block bsStyle="warning">Volver al listado</Button> | |
</Link> | |
</Well> | |
</div> | |
) | |
} | |
} | |
Código fuente del archivo index.js | |
import React from 'react'; | |
import ReactDOM from 'react-dom'; | |
import App from './App'; | |
import 'bootstrap/dist/css/bootstrap.css'; | |
import './index.css'; | |
import Login from './Components/Login'; | |
import Register from './Components/Register'; | |
import Profile from './Components/Profile'; | |
import PostList from './Components/Posts/PostList'; | |
import PostDetail from './Components/Posts/PostDetail'; | |
import { BrowserRouter as Router, Route, Link } from 'react-router-dom'; | |
ReactDOM.render( | |
<Router> | |
<div> | |
<Route path="/" component={App} /> | |
<Route path="/login" render={() => ( | |
!!localStorage.user ? (<Route component={Profile}/>) : (<Route component={Login}/>) | |
)}/> | |
<Route path="/register" render={() => ( | |
!!localStorage.user ? (<Route component={Profile}/>) : (<Route component={Register}/>) | |
)}/> | |
<Route path="/profile" render={() => ( | |
!!localStorage.user ? (<Route component={Profile}/>) : (<Route component={Login}/>) | |
)}/> | |
<Route path="/posts" render={() => ( | |
!!localStorage.user ? (<Route component={PostList}/>) : (<Route component={Login}/>) | |
)}/> | |
<Route path='/post/:id' component={PostDetail} /> | |
</div> | |
</Router>, | |
document.getElementById('root') | |
); | |
Código del componente PostDetail.js | |
import React, {Component} from 'react'; | |
import axios from 'axios'; | |
import {Well, Button} from 'react-bootstrap'; | |
import {Link} from 'react-router-dom'; | |
export default class PostDetail extends Component{ | |
constructor(props, context){ | |
super(props, context); | |
console.log(props); | |
this.state = { | |
post: {} | |
} | |
} | |
componentDidMount(){ | |
const url = `http://localhost:5000/api/posts/${this.props.params.id}`; | |
axios.get(url) | |
.then((response) => { | |
console.log(response.data); | |
this.setState({ | |
post: response.data | |
}) | |
}) | |
.catch((error) => { | |
console.log(error); | |
}) | |
} | |
render(){ | |
const {post} = this.state; | |
return ( | |
<div> | |
<h2 className="text-center text-muted">{post.title}</h2> | |
<Well> | |
{post.content} | |
<hr/> | |
<Link to='/posts'> | |
<Button block bsStyle="warning">Volver al listado</Button> | |
</Link> | |
</Well> | |
</div> | |
) | |
} | |
} | |
El problema se presenta cuando intento acceder la url: | |
http://localhost:3000/post/594e4a9945670e029174cc24 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment