Клиент.Запрос на просмотр не может быть вызван с параметром fetchPolicy, установленным в "режим ожидания" -- Ошибка при загрузке страницы из useLazyQuery

0

Вопрос

У меня есть страница, написанная в tsx, которая продолжает сбоить при загрузке с ошибкой client.watchQuery cannot be called with fetchPolicy set to "standby", даже несмотря на то, что рассматриваемый запрос является useLazyQuery (поэтому он еще не запущен) и имеет возможность fetchPolicy: 'no-cache'. Он выходит из строя для меня, но не для моих товарищей по команде, что заставляет меня думать, что это может быть как-то связано с пакетными версиями, возможно, моего локального машинописного текста, но я устанавливал и перенастраивал его всеми возможными способами без каких-либо улучшений. Соответствующий код и package.json приведены ниже. Любое озарение вообще было бы замечательно.

// 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

У меня была похожая проблема. Проследил это до проблемы useQuery, похоже, не использует опции по умолчанию в 3.5 в @apollo/client (зависимость от @apollo/react-hooks).

Решением для меня было понизить рейтинг, установив "@apollo/client": "~3.4.0" в package.json и беги npm install. Проверьте свои package-lock.json чтобы убедиться, что вы заменили свой 3.5.x версия.

2021-11-25 03:34:03
1

@apollo/react-hooks имеет зависимость от @apollo-client.

Если вы импортировали useQuery От @apollo/react-hooks, затем вам нужно импортировать useQuery/useLazyQuery От @apollo-client вместо @apollo/react-hooks, вместе с версией ниже 3.5.

2021-11-29 19:47:41
1

Я поискал в Интернете эту ошибку в сборке с существующим приложением react, которое использовало nwb прежде чем, наконец, наткнуться на это. В моем случае, apollo client версия была 3.0.2. Обновление моего пакета.json "@apollo/client": "~3.4.0" и снова бегу npm i наконец-то сделал свое дело. Спасибо @GratefulGuest!

2021-11-29 18:26:57

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................