Я хочу показать фид пользователя и его сообщения. Я планирую отправить действие из componentDidMount компонента UserPosts, но пока не имею идентификатора. Компонент выглядит следующим образом:
import React, { Component } from "react"
import { getUserposts } from "../actions/userActions"
class UserPosts extends Component {
componentDidMount() {
//////
}
render() {
return (
<div className="card">
<div className="card-content">
<div className="media">
<div className="media-left">
<figure className="image is-48x48">
<img
src="https://bulma.io/images/placeholders/96x96.png"
alt="Placeholder image"
/>
</figure>
</div>
<div className="media-content">
<p className="title is-4"></p>
<p className="subtitle is-6"></p>
</div>
</div>
<div className="content">Insert Bio</div>
</div>
</div>
)
}
}
export default UserPosts
и действие выглядит так:
export const getUserposts = (id) => {
return async dispatch => {
dispatch({
type: "FETCHING_POSTS",
})
try {
const res = await axios.get(
`http://localhost:3000/api/v1/users/posts/${id}`, {
headers: {
"Content-Type": "application/json"
}
}
)
dispatch({
type: "FETCHING_POSTS_SUCCESS",
data: res.data
})
} catch(err) {
dispatch({
type: "FETCHING_POSTS_ERROR",
data: { error: res.data.error}
})
}
}
}
Теперь, как мне получить идентификатор? У меня есть маршрут, который дает мне текущего вошедшего в систему пользователя. Это маршрут /me
. Я установил поверх своего App.js
, поэтому он работает на каждом рефре sh. Итак, можно ли сначала отправить маршрут /me
, получить идентификатор, а затем отправить его снова для действия getUserPosts
. Как отправить два действия из componentDidMount?
Возможно ли это.
componentDidMount() {
const authToken = localStorage.getItem("authToken");
this.props.dipsatch(getCurrentUser(authToken)) // this will return the current user object
this.props.dispatch(getUserPosts(id)) // i will probably get this id from the props from the
//redux store
}
Please tell how can I approach this? Thanks.