我有一个API获取请求,我想在2个不同的数据集上的2个不同位置使用。
我尝试在this post上实现用户aeid的答案,但它无效。我知道如果我在我的组件中嵌入获取请求,我可以成功更新状态,但我不想这样做,因为我需要重用这段代码而且不会很干。
我在api.js
中获取的API是:
export const getGithub = (url, setState, userData) => {
return fetch(root_url + url)
.then(res => {
if (!res.ok) {
connectionFailure();
}
return res;
})
.then(data => data.json())
.then(data => setState({
[userData]: data
}))
}
我在我的组件中调用它:
componentWillMount() {
getGithub(this.state.username, this.setState, "userData")
}
尝试了一些变体,例如从userData
移除括号,并将其作为this.state.userData
而不是字符串传递,但没有成功。