React · Senior · Pytanie 29 z 75
Kiedy dopuszczalne jest wywołanie setState bezpośrednio podczas renderu?
- ✓Poprawna odpowiedź: Do korekty stanu przy zmianie propa, z warunkiem chroniącym przed pętlą
- 2Nigdy: zawsze powoduje błąd „Too many re-renders”
- 3Zawsze, gdy trzeba zsynchronizować dowolny stan z nowymi propsami
Wyjaśnienie
Wzorzec „przechowywania informacji z poprzednich renderów”: if (items !== prevItems) { setPrevItems(items); setSelection(null); }. React od razu ponownie wykonuje render komponentu, nie malując stanu pośredniego. To lepsze niż useEffect, ale key lub obliczenie podczas renderu są jeszcze lepsze.