scorpio18k
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
0
  • Najlepsze
  • Wszystkie komentarze
plasq
@scorpio18k: https://pastebin.com/Q2daKNGt tak jest znacznie prościej, bez właściwych requestów na serwer to ciężko mi się odnieść, ale na pewno dwa odrębne state'y są całkowicie niepotrzebne.
1
plasq
@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
0
Rufurege1
O panie a kto to panu tak s--------ł ?
0
scorpio18k
@plasq: Poprawiłem. Powinny się wszystkie klikać
0
scorpio18k
O panie a kto to panu tak s--------ł ?


@Rufurege1: Ale jakieś konkrety?
0
plasq
@scorpio18k: nie wystarczy po prostu statem uczynić tablicę booleanów? [false, false, false, false, false] i potem na kliknięcie zmieniać stan na przeciwny?
0
scorpio18k
@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
0
scorpio18k
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
0