gpt4 book ai didi

javascript - 获取数据的正确方法 - React

转载 作者:行者123 更新时间:2023-12-02 13:44:38 25 4
gpt4 key购买 nike

我将用户和地点作为两个不同的数据库,每个用户都有可能的地点。

我有 BasicInfo 组件,一次必须加载用户的 1 个位置。

BasicInfoComponentWillMount

componentWillMount() {
this.props.dispatch(fetchUser())
this.props.dispatch(fetchPlaces(1))
}

我需要在 fetchPlaces 中传递用户 ID,目前我正在硬编码,但是如何处理 fetchUser 的结果?我应该在 componentWillReceiveProps(nextProps) 中执行操作吗?或者还有其他方法吗?

componenetWillReceiveProps 是有道理的,但我想知道如果它是一系列事件怎么办?如果我必须获取一些其他数据,可能取决于地点 ID。

行动:

export function fetchPlaces(user_id) {
return function(dispatch) {
axios.get("/getPlaces?user_id=" + user_id)
.then((response) => {
console.log(response);
dispatch({type: "FETCH_PLACES_FULFILLED", payload: response.data})
})
.catch((err) => {
dispatch({type: "FETCH_PLACES_REJECTED", payload: err})
})
}
}

export function fetchPlace(place_id) {
return function(dispatch) {
axios.get("/getPlace?place_id=" + place_id)
.then((response) => {
console.log(response);
dispatch({type: "FETCH_PLACES_FULFILLED", payload: response.data})
})
.catch((err) => {
dispatch({type: "FETCH_PLACES_REJECTED", payload: err})
})
}
}

最佳答案

您似乎已经在使用 redux-thunk 了?如果是这样,您可以从 axios.get() 调用中返回 promise :

return axios.get(...);

...那么你可以做这样的事情(我猜你的 fetchUseruser 可能是什么样子):

this.props.dispatch(fetchUser()).then(user => this.props.dispatch(fetchPlaces(user.id)))

关于javascript - 获取数据的正确方法 - React,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41510600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com