我需要与内容集成,并且很难获取嵌套的 JSON 数据
当我这样做时,我得到了想要的结果:
const client = contentful.createClient({
space: '<space_id>',
accessToken: '<access_token>'
});
useEffect(async () => {
const response = await client.getEntry(id);
setHeadLinks(response.fields.slug);
}, []);
console.log(headLinks);
但是,我在控制台中收到警告:
警告:效果函数不能返回除用于清理的函数之外的任何内容。
看起来你写了 useEffect(async () => ...) 或返回了一个 Promise。相反,在你的效果中编写异步函数并立即调用它:
useEffect(() => {
async function fetchData() {
// You can await here
const response = await MyAPI.getData(someId);
// ...
}
fetchData();
}, [someId]); // Or [] if effect doesn't need props or state
因此,当我尝试它时,我收到一条错误消息,指出未定义响应:
useEffect(() => {
const fetchData = async () => {
const response = await client.getEntry(id);
};
setHeadLinks(response.fields.slug);
fetchData();
}, []);
console.log(headLinks);
谢谢你的帮助