Cliente.watchQuery no puede ser llamado con fetchPolicy en "standby" -- Error generado en la página de carga de useLazyQuery

0

Pregunta

Tengo una página escrita en tsx que mantiene a estrellarse en la carga con el error client.watchQuery cannot be called with fetchPolicy set to "standby"aunque la consulta en cuestión es useLazyQuery (por lo que no se ha ejecutado todavía), y tiene la opción fetchPolicy: 'no-cache'. Se bloquea para mí, pero no para mis compañeros, que me hace pensar que puede tener algo que ver con las versiones de los paquetes de tal vez de mi manuscrito, pero me he fijado y volver a configurarlo todo lo que se puede pensar, sin mejoría. El código correspondiente y el paquete.json están por debajo. Cualquier penetración en todo sería maravilloso.

// myfile.tsx
const [getRoles] = useLazyQuery(GET_ALL_ACCOUNT_ROLES, {
    fetchPolicy: 'no-cache',
    onError: (e) => {
      console.error(e.message);
      showPrompt({ type: 'error', message: 400 });
    },
    onCompleted: async (data) => {
      const {
        getAllAccountRoles: { data: res }
      } = data;
      setAllRoles(res);
    }
  });
package.json
"dependencies": {
    "@apollo/react-hooks": "^4.0.0",
    "@aws-amplify/api": "^4.0.13",
    "@aws-amplify/auth": "^4.1.3",
    "@emotion/react": "^11.4.1",
    "@emotion/styled": "^11.3.0",
    "@loadable/component": "^5.15.0",
    "@mui/icons-material": "^5.1.0",
    "@mui/material": "^5.1.0",
    "@mui/system": "^5.1.0",
    "@reach/router": "^1.3.4",
    "@rinxun/custom-questions": "^1.1.2",
    "@testing-library/jest-dom": "^5.11.4",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10",
    "apollo-boost": "^0.4.9",
    "apollo-cache-inmemory": "^1.6.6",
    "apollo-client": "^2.6.10",
    "apollo-link": "^1.2.14",
    "apollo-link-context": "^1.0.20",
    "apollo-link-http": "^1.5.17",
    "aws-appsync-auth-link": "^3.0.6",
    "check-equal": "^1.0.7",
    "clsx": "^1.1.1",
    "dotenv": "^10.0.0",
    "env-cmd": "^10.1.0",
    "mockjs": "^1.1.0",
    "qrcode.react": "^1.0.1",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-dropzone": "^11.3.4",
    "react-scripts": "4.0.3",
    "store": "^2.0.12",
    "uuid": "^8.3.2"
  },
  "devDependencies": {
    "@storybook/addon-actions": "^6.3.2",
    "@storybook/addon-essentials": "^6.3.2",
    "@storybook/addon-links": "^6.3.2",
    "@storybook/node-logger": "^6.3.2",
    "@storybook/preset-create-react-app": "^3.1.7",
    "@storybook/react": "^6.3.2",
    "@types/aws4": "^1.5.2",
    "@types/jest": "^26.0.24",
    "@types/loadable__component": "^5.13.4",
    "@types/qrcode.react": "^1.0.2",
    "@types/react": "^17.0.15",
    "@types/react-dom": "^17.0.9",
    "@types/uuid": "^8.3.1",
    "@typescript-eslint/eslint-plugin": "^4.29.1",
    "@typescript-eslint/parser": "^4.29.1",
    "aws4": "^1.11.0",
    "babel-eslint": "^10.1.0",
    "babel-loader": "8.1.0",
    "eslint": "^7.32.0",
    "eslint-config-react-app": "^6.0.0",
    "eslint-plugin-flowtype": "^5.9.0",
    "eslint-plugin-import": "^2.24.0",
    "eslint-plugin-jsx-a11y": "^6.4.1",
    "eslint-plugin-react": "^7.24.0",
    "eslint-plugin-react-hooks": "^4.2.0",
    "graphql": "^15.5.1",
    "lint-staged": "^11.1.1",
    "prettier": "2.3.2",
    "typescript": "^4.3.5",
    "web-vitals": "^1.0.1"
  },
3
1

Yo estaba teniendo un problema similar. Remontar de nuevo a la cuestión useQuery no parecen utilizar defaultOptions en 3.5 en @apollo/client (una dependencia de @apollo/react-hooks).

La solución para mí fue un downgrade mediante el establecimiento de "@apollo/client": "~3.4.0" en el package.json y ejecutar npm install. Revise su package-lock.json para asegurarse de que ha reemplazado su 3.5.x versión.

2021-11-25 03:34:03
1

@apollo/react-hooks tiene una dependencia de @apollo-client.

Si ha importado useQuery de @apollo/react-hooks, entonces usted necesita para importar useQuery/useLazyQuery de @apollo-client en lugar de @apollo/react-hooksjunto con la versión inferior a 3.5.

2021-11-29 19:47:41
1

Fregué el internet para este error en una build con una ya existente reaccionar de la aplicación que estaba utilizando nwb antes de que finalmente se topan con este. En mi caso, la apollo client la versión 3.0.2. La actualización de mi paquete.json "@apollo/client": "~3.4.0" y volver a correr npm i finalmente hizo el truco. Gracias @GratefulGuest!

2021-11-29 18:26:57

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................