scorpio18k
https://www.w3schools.com/react/react_customhooks.asp

Tam jest Example: useFetch.js: i index.js:

Czy tam przypadkiem nie ma podwójnego źródła prawdy ?
1. wewnątrz useFetch: const [data, setData] = useState(null);
2. wewnątrz index.js: const [data] = useFetch("https://jsonplaceholder.typicode.com/todos");

Mamy "data", które występuje w dwóch miejscach.

Czy nie jest to sprzeczne z:
"There should be a single “source of truth” for any data that changes in a React application"
źródło: https://reactjs.org/docs/lifting-state-up.html

#react #reactjs
0
  • Najlepsze
  • Wszystkie komentarze
tooph
@scorpio18k: Ale to jest już inna zmienna w innym "scope".

równie dobrze mogło by być:
1. const [Andrzej, setAndrzej] = useState(null); przekazana później przez return [Andrzej];
2. const [Dominik] = useFetch("https://jsonplaceholder.typicode.com/todos");
1
tooph
Mamy "data", które występuje w dwóch miejscach.


@scorpio18k: Mógłbyś doprecyzować, o co Ci tutaj chodzi?

Co do podwójnego źródła prawdy: data jest pobierana i zmieniana w jednym miejscu w useFetch->useEffect->setData
0
scorpio18k
data jest pobierana i zmieniana w jednym miejscu w useFetch->useEffect->setData


@tooph: Jeżeli do index.js przekazałbym setData w ten sposób:

wewnątrz useFetch:
return
0
scorpio18k
Mamy "data", które występuje w dwóch miejscach.

@scorpio18k: Mógłbyś doprecyzować, o co Ci tutaj chodzi?


@tooph: Że data jest i wewnątrz index.js i wewnątrz useFetch:
1. const [data, setData] = useState(null); przekazana później przez return [data];
2. const [data] = useFetch("https://jsonplaceholder.typicode.com/todos");
0