Reactjs 为什么阿波罗客户端在缓存注册成功后不重新呈现UI?

Reactjs 为什么阿波罗客户端在缓存注册成功后不重新呈现UI?,reactjs,graphql,apollo,apollo-client,Reactjs,Graphql,Apollo,Apollo Client,就像下面的屏幕截图一样,我正在尝试向我的数据库添加一个任务,并在更新时在客户端渲染它。它确实成功地使用my db读取查询和规范化缓存,并添加到缓存中,如下面的屏幕截图所示。问题是,即使在我的代码执行之后,屏幕也不会再次呈现 它确实将新任务正确注册到缓存中 下面是我执行此任务的代码 //阿波罗客户机 await createBoard({ variables: { title, projectId }, refetchQueries: \[ {

就像下面的屏幕截图一样,我正在尝试向我的数据库添加一个任务,并在更新时在客户端渲染它。它确实成功地使用my db读取查询和规范化缓存,并添加到缓存中,如下面的屏幕截图所示。问题是,即使在我的代码执行之后,屏幕也不会再次呈现

它确实将新任务正确注册到缓存中

下面是我执行此任务的代码

//阿波罗客户机

await createBoard({  
    variables: { title, projectId },  
    refetchQueries: \[  
    {  
    query: GetBoardsDocument,  
    variables: { projectId },  
    },  
    \],  
    update: (cache, { data }) => {  
    const newBoardRes = data?.createBoard.boards;  
    const newBoard = newBoardRes && newBoardRes\[newBoardRes.length - 2\];  
    const existingBoards = cache.readQuery({  
    query: GetBoardsDocument,  
    variables: { projectId },  
    });  
    // console.log("newBoard", newBoard);  
    if (!existingBoards) return;  
    console.log("existingBoards", existingBoards);  
    console.log("newBoardRes", newBoardRes);  
    // cache.evict({ fieldName: "boards:{}" });  
    if (!newBoardRes) return;        cache.writeQuery({  
    query: GetBoardsDocument,  
    variables: { projectId },  
    data: {  
    getBoards: {  
    boards: \[...existingBoards.getBoards.boards, ...newBoardRes\],  
    // boards: \[...newBoardRes\],  
    },  
    },  
    });  
    // console.log("handleCreateBoard", writeRes);  
    if (refetch) refetch();  
    },  
    });  
};
我不明白为什么它不更新用户界面。据我所知,apollo客户端会更新其缓存,从而支持数据更改,因此应该对组件重新加载做出反应

我是不是遗漏了什么? 请告知。

“添加任务”与“createBoard”。。。重新蚀刻的查询请求响应。。。如何渲染?组件(+查询)结构?“添加任务”与“createBoard”。。。重新蚀刻的查询请求响应。。。如何渲染?组件(+查询)结构?