Wpis z mikrobloga

https://codesandbox.io/s/fragrant-cloud-gptmsv?file=/src/App.js

1. data przechowuje tablicę liczb.
setData używam do pobrania danych za pomocą fetch, ale już tego nie pisałem i dałem [1,2,3,4].
2. tworzę obiekt "data2" gdzie kluczami są liczby z tablicy "data" a wartościami "false"
3. jak kliknę to zmieniam checkbox nr.2 na true.

Wydaje mi się, że niepotrzebnie używam dwa razy useState.
Jak myślicie, da się to zrobić lepiej?

Myślałem np. żeby pozbyć się drugiego [data2, setData2] i zrobić "const data2" ale wtedy komponent mógłby się nie odświeżyć gdyby data2 był zwykłą zmienną. Tak mi się przynajmniej wydaje.

#react #reactjs
  • 8
via Wykop Mobilny (Android)
  • 0
@scorpio18k: ło panie, ale o co tu chodzi? O to, że jak klikniesz gdzieś to checkbox numer 2 się zmienia na true i to wszystko? Bo mega skomplikowałeś logikę i się po prostu zastanawiam o co tu tak naprawdę chodzi
via Wykop Mobilny (Android)
  • 0
@scorpio18k: nie wystarczy po prostu statem uczynić tablicę booleanów? [false, false, false, false, false] i potem na kliknięcie zmieniać stan na przeciwny?
@plasq:
Wewnątrz setData pobieram dane z serwera. Także data może być np. [24, 45]
Jak użytkownik naklika i naciśnie wyślij to odsyłam data2 na serwer i na serwerze ustawia się np. 24 na false a 45 na true
na pewno dwa odrębne state'y są całkowicie niepotrzebne


@plasq: Dzięki. W sumie to jak przeniosę konwersję tablicy na obiekt do funkcji pobierającej dane (fetch) to już wtedy mogę zrobić jak pod linkiem