ApollographqluseMutationwouldtriggerthecomponenttore-render。
创始人
2024-09-09 10:00:44
0

在React中使用useMutation的时候,它会触发组件的重新渲染。为了避免这种情况,可以使用useMutation函数的第二个参数options,来手动控制是否重新渲染。

示例代码:

import React from 'react';
import { useMutation } from '@apollo/client';
import { ADD_TODO_MUTATION } from '../queries';

const AddTodo = () => {
  const [todo, setTodo] = React.useState('');
  const [addTodo, { loading, error }] = useMutation(ADD_TODO_MUTATION, {
    variables: { todo },
    update(cache, { data: { addTodo } }) {
      cache.modify({
        fields: {
          todos(existingTodos = []) {
            const newTodoRef = cache.writeFragment({
              data: addTodo,
              fragment: gql`
                fragment NewTodo on Todo {
                  id
                  text
                  completed
                }
              `
            });
            return [...existingTodos, newTodoRef];
          }
        }
      });
    },
    onError(error) {
      console.log(error);
    }
  });

  const handleAddTodo = () => {
    addTodo();
    setTodo('');
  };

  return (
    
setTodo(e.target.value)} />
); }; export default AddTodo;

在上面的示例中,我们在options参数中定义了onError和update函数来处理错误和更新缓存。如果您不需要更新缓存,请删除update函数。

相关内容

热门资讯

透视安卓版!aapoker透视... 透视安卓版!aapoker透视方法(透视)广西来趣app有挂吗(果然真的是有辅助app)-哔哩哔哩广...
透视代打!wpk私人局辅助是真... 透视代打!wpk私人局辅助是真的吗(透视)传送屋软件下载辅助(一直是有辅助app)-哔哩哔哩1、透视...
据公告内容!wepoker辅助... 据公告内容!wepoker辅助器是真的吗(透视)边锋斗地主辅助微信(本来真的有辅助安装)-哔哩哔哩1...
事发当天!德普之星辅助工具如何... 事发当天!德普之星辅助工具如何设置(透视)随意玩正版透视(切实是真的辅助平台)-哔哩哔哩1、下载好随...
目前!德普之星透视辅助软件(透... 目前!德普之星透视辅助软件(透视)闲来辅助工具(总是存在有辅助软件)-哔哩哔哩1、上手简单,内置详细...
透视总结!wepokerplu... 透视总结!wepokerplus透视脚本免费(透视)九酷众游辅助(好像真的是有辅助工具)-哔哩哔哩1...
透视规律!德普之星app安卓版... 透视规律!德普之星app安卓版破解版(透视)潮汕汇鱼虾蟹辅助(一贯真的是有辅助辅助器)-哔哩哔哩潮汕...
据通报!wepoker怎么挂飞... 据通报!wepoker怎么挂飞机(透视)兴动互娱辅助工具(一直真的有辅助下载)-哔哩哔哩在进入兴动互...
透视透视!wepoker插件功... 透视透视!wepoker插件功能辅助器(透视)朱雀开心罗松开挂(原来是真的辅助修改器)-哔哩哔哩朱雀...
目前!pokernow辅助工具... 目前!pokernow辅助工具(透视)微乐小程序礼包码(一直存在有辅助平台)-哔哩哔哩;1、微乐小程...