我有一个自定义挂钩,可以根据 url 从缓存 api 获取文件数据。钩子工作正常。
问题是我得到了回复,我需要先解析这些数据,然后才能使用结构标签选择器。而且我也只想在用户开始输入时解析该数据。我知道道具“filterSuggestedTags”接受像 call 这样的承诺,我们可以在此之前获取数据。
您会看到我在 filterSuggestedTags 中使用了 fetch,并确保在显示结果之前从 url 中获取数据,此外它还显示了加载器: https ://codepen.io/deleite/pen/MWjBMjY?editors =1111
因此,鉴于下面的代码以及我的 useCache 将我的 fetch 响应作为状态的事实:
const filterSuggestedTags = async (filterText: string, tagList: ITag[]) => {
if (filterText) {
// how can I await the response state? before I can parse the data
return (await /* resp should be the state from the custom hook*/ resp.json()).map(item => ({ key: item.id, name: item.title }));
} else return []
};