【发布时间】:2019-02-01 16:22:15
【问题描述】:
我在 React 上工作了 6 个月。我现在才在这个问题上苦苦挣扎,因为 Context API 对我来说很新。我喜欢它,但我不知道如何正确使用它,清理和优化我的 React APP。
我有这个问题,我在每个组件中使用 Axios 获取数据,每个组件具有相同的功能和相同的状态。
我实际上是在复制粘贴.. 来访问我的数据,但我想用 Context API 解决这个问题。
希望有人可以帮助我,我想变得更好并了解这里的 Context API。
我的代码:
state = {
social_media: [],
page_home: [],
loading: true,
};
getCoffee() {
return new Promise(resolve => {
setTimeout(() => resolve('☕'), 2000); // it takes half of a second to make coffee
});
}
async showData() {
try {
const wpSocial = axios(`${ACF_DATA_URL}/options/social_media_data`);
const wpHome = axios(`${WP_DATA_URL}/pages?slug=home`);
await this.getCoffee();
await Promise.all([wpSocial, wpHome]).then(response => {
this.setState({
social_media: response[0].data.social_media_data,
page_home: response[1].data[0],
loading: false,
});
});
} catch (e) {
console.error(e); // ????
}
}
componentDidMount() {
this.showData();
}
我想要完成的是我想创建一个上下文 API 并将相同的状态、函数 ShowData 和 GetCoffee() 传递给多个不同的组件。
我该怎么做?
谢谢大家!
【问题讨论】:
标签: javascript reactjs