Size: a a a

Next.js — русскоговорящее сообщество

2020 April 21

EK

Erik Kim 🍚 in Next.js — русскоговорящее сообщество
источник

ps

p s in Next.js — русскоговорящее сообщество
всем привет!
использую кастомный хук в Нексте, выдает ошибку:
Invalid hook call. Hooks can only be called inside of the body of a function component


import React, { useState, useEffect } from "react";

const useFetch = (url, options) => {
 console.log("useFetch called");
 const [response, setResponse] = useState(null);
 useEffect(() => {
   const doFetch = async () => {
     const res = await fetch(url, options);
     const json = await res.json();
     setResponse(json);
   };
   doFetch();
 }, []);
 return response;
};

export default useFetch;

что не так делаю?
источник

EM

Eugene M in Next.js — русскоговорящее сообщество
проблема не в хуке, а в его вызове, как и написано) также React импорт юзлесс
источник

YZ

Yury Zhuk in Next.js — русскоговорящее сообщество
p s
всем привет!
использую кастомный хук в Нексте, выдает ошибку:
Invalid hook call. Hooks can only be called inside of the body of a function component


import React, { useState, useEffect } from "react";

const useFetch = (url, options) => {
 console.log("useFetch called");
 const [response, setResponse] = useState(null);
 useEffect(() => {
   const doFetch = async () => {
     const res = await fetch(url, options);
     const json = await res.json();
     setResponse(json);
   };
   doFetch();
 }, []);
 return response;
};

export default useFetch;

что не так делаю?
а вызываешь где покажи
источник

e

eeeMan in Next.js — русскоговорящее сообщество
p s
всем привет!
использую кастомный хук в Нексте, выдает ошибку:
Invalid hook call. Hooks can only be called inside of the body of a function component


import React, { useState, useEffect } from "react";

const useFetch = (url, options) => {
 console.log("useFetch called");
 const [response, setResponse] = useState(null);
 useEffect(() => {
   const doFetch = async () => {
     const res = await fetch(url, options);
     const json = await res.json();
     setResponse(json);
   };
   doFetch();
 }, []);
 return response;
};

export default useFetch;

что не так делаю?
попробуй не response возвращать а <div>{response}</div>
источник

EM

Eugene M in Next.js — русскоговорящее сообщество
😮
источник

ps

p s in Next.js — русскоговорящее сообщество
eeeMan
попробуй не response возвращать а <div>{response}</div>
чет не помогло
источник

ps

p s in Next.js — русскоговорящее сообщество
вызываю из onClick через handleClick
источник

ps

p s in Next.js — русскоговорящее сообщество
Eugene M
проблема не в хуке, а в его вызове, как и написано) также React импорт юзлесс
можешь поподробнее объяснить?
источник

ps

p s in Next.js — русскоговорящее сообщество
реакт импортнул зря согласен
источник

EM

Eugene M in Next.js — русскоговорящее сообщество
вместо useEffect используй функцию
источник

EM

Eugene M in Next.js — русскоговорящее сообщество
просто экспортни функцию из хука вместе со стейтом
источник

EM

Eugene M in Next.js — русскоговорящее сообщество
когда клик вызывай функцию, а не хук
источник

EM

Eugene M in Next.js — русскоговорящее сообщество
сам хук помести в бади фунцкии-компонента
источник

EM

Eugene M in Next.js — русскоговорящее сообщество
а в ретурне жсикс дергай на клике функцидю-фетчек
источник

EM

Eugene M in Next.js — русскоговорящее сообщество
даже проще
источник

ps

p s in Next.js — русскоговорящее сообщество
Eugene M
вместо useEffect используй функцию
а в чем проблема юзать хук внутри хука?
источник

EM

Eugene M in Next.js — русскоговорящее сообщество
удали юзэфеект и верни не вызывая doFetch
источник

EM

Eugene M in Next.js — русскоговорящее сообщество
нет проблемы
источник

EM

Eugene M in Next.js — русскоговорящее сообщество
просто это не то что тебе нужно
источник