gpt4 book ai didi

graphql - 如何转换从@apollo/react-hooks 接收到的数据

转载 作者:行者123 更新时间:2023-12-04 13:38:11 30 4
gpt4 key购买 nike

我正在使用``查询:

const GET_COMMENTS = gql`
query getComments {
getComments (where: {code: "/about-us" }) {
id
text
createdAt
}
}
`
....
const { loading, error, data } = useQuery(GET_COMMENTS);

在我的代码...

代码从服务器获取评论,评论对象是 date: string!属性(property),我想改造这个 date: string!进入 javascript 日期 ( new Date(comment.date) ) 如何在获取数据后直接执行此操作?

我不想转换每个渲染被调用。

有没有这样的东西?:
const { loading, error, data } = 
useQuery(
GET_COMMENTS,
{
transform: (data) => data.map(comment => ({...comment , date: new Date(comment.date)}) )
}
);


感谢您的帮助!

最佳答案

merge function在缓存类型策略中是您正在寻找的。它允许您定义将传入数据写入缓存的自定义策略。
创建缓存时,您可以定义如何写入特定字段。让我们假设 date字段属于Comment类型:

const cache = new InMemoryCache({
typePolicies: {
Comment: {
fields: {
date: {
merge(_, date) {
return new Date(date);
},
},
},
},
},
});

关于graphql - 如何转换从@apollo/react-hooks 接收到的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60577601/

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