← Усі теми

Питання на співбесіді з керування станом (Middle) з відповідями

75 запитань для співбесіди з теми Керування станом (Middle) - з правильними відповідями, поясненнями й посиланнями на документацію.

Пройти цей тест
  1. 1.Яким буде count після одного кліку, якщо початкове значення 0?
  2. 2.Як скинути стан компонента форми під час зміни вибраного користувача?
  3. 3.Чому зберігати копію пропа в стані може бути помилкою?
  4. 4.Як передати dispatch з useReducer глибоко в дерево без prop drilling?
  5. 5.Навіщо потрібен третій аргумент init у useReducer(reducer, arg, init)?
  6. 6.Чому всі споживачі контексту перемальовуються при кожному рендері провайдера?
  7. 7.Компонент використовує лише theme з великого AppContext, але перемальовується при кожній зміні кошика. Що допоможе?
  8. 8.Чому React.memo не допомагає компоненту, який викликає useContext(CartContext)?
  9. 9.Чи є Context бібліотекою керування станом?
  10. 10.Що буде з вкладеними провайдерами одного контексту?
  11. 11.Коли краще покласти значення в Context, а не передавати його явно через пропси?
  12. 12.Що не так із цим case reducer?
  13. 13.Які дії надсилає createAsyncThunk('users/fetch', fn)?
  14. 14.Чому цей селектор перемальовує компонент при кожній надісланій дії?
  15. 15.Для чого потрібен extraReducers у createSlice?
  16. 16.Як типізувати useSelector і useDispatch у TypeScript-проєкті?
  17. 17.Що дає нормалізований стан ({ ids, entities })?
  18. 18.Що перевіряє configureStore у режимі розробки?
  19. 19.Чи варто зберігати стан полів форми (кожне натискання клавіші) в Redux?
  20. 20.Чому цей компонент перемальовується при будь-якій зміні стору?
  21. 21.Чому селектор, що повертає новий об'єкт, спричиняє зайві ререндери (або нескінченний цикл у v5)?
  22. 22.Як прочитати чи оновити стор Zustand поза React-компонентами (наприклад, в API-хелпері)?
  23. 23.Як set у Zustand обробляє вкладені об'єкти?
  24. 24.Як зазвичай організовують великий стор Zustand?
  25. 25.Чому стор із persist може спричинити hydration mismatch у SSR-застосунках?
  26. 26.Чим staleTime відрізняється від gcTime?
  27. 27.Чим isPending відрізняється від isFetching?
  28. 28.Як оновити список після того, як useMutation створив елемент?
  29. 29.Які запити зачіпає invalidateQueries({ queryKey: ['todos'] })?
  30. 30.Як запустити запит лише після того, як інший повернув user.id?
  31. 31.Як під час пагінації показувати попередню сторінку, поки вантажиться наступна?
  32. 32.Що TanStack Query робить з невдалим запитом за замовчуванням?
  33. 33.Чому кожна змінна, яку використовує queryFn, має входити в queryKey?
  34. 34.Як змусити мутацію RTK Query перезапитати список постів?
  35. 35.Коли RTK Query видаляє невикористані дані з кешу?
  36. 36.Як пропустити запит RTK Query, поки аргумент недоступний?
  37. 37.Як RTK Query уникає дубльованих запитів, коли 3 компоненти викликають useGetUserQuery(1)?
  38. 38.Що робить опція refetchOnMountOrArgChange у RTK Query?
  39. 39.Коли SWR за замовчуванням автоматично перевіряє дані повторно?
  40. 40.Як завантажувати дані в SWR лише за виконання умови?
  41. 41.Що робить mutate(key) з useSWRConfig?
  42. 42.Чому два компоненти з одним ключем SWR роблять лише один запит?
  43. 43.Як задати fetcher і опції за замовчуванням для всіх хуків SWR?
  44. 44.Як компонент читає дані, які повернув loader його маршруту?
  45. 45.Що відбувається після завершення action у React Router?
  46. 46.Як показати стан очікування під час навігації чи надсилання форми в React Router?
  47. 47.Коли варто використовувати useFetcher замість <Form>?
  48. 48.Як перенаправити з action після створення елемента?
  49. 49.Серверні дані лежать у TanStack Query. Що зазвичай лишається для глобального клієнтського стору?
  50. 50.Як RTK Query співвідноситься з TanStack Query?
  51. 51.Для чого потрібен колбек prepare у редʼюсері createSlice?
  52. 52.Як обробити стан pending багатьох thunk'ів одним case у слайсі?
  53. 53.Чи варто зберігати cartTotal у Redux-стані поруч з items?
  54. 54.Як пропустити thunk, якщо дані вже завантажено чи вони завантажуються?
  55. 55.Як компоненту отримати результат thunk'а чи спіймати його помилку?
  56. 56.Як додати ендпоінти RTK Query з ліниво завантажуваної фічі?
  57. 57.Як перезапитувати запит RTK Query кожні 30 секунд, поки компонент змонтований?
  58. 58.Як зробити, щоб компонент перерендерювався лише за зміни одного поста із закешованого списку?
  59. 59.Що робить другий аргумент true у set(newState, true) у Zustand?
  60. 60.Навіщо деякі команди групують дії Zustand у вкладений об'єкт actions?
  61. 61.Чим initialData відрізняється від placeholderData у TanStack Query?
  62. 62.Що дає помічник queryOptions?
  63. 63.Як опитувати запит кожні 10 секунд у TanStack Query?
  64. 64.Чим mutateAsync відрізняється від mutate?
  65. 65.Як паралельно завантажити динамічну кількість запитів (наприклад, по одному на вибраний id)?
  66. 66.Як зробити відкриття детальної сторінки миттєвим?
  67. 67.Який хук SWR реалізує пагінацію «завантажити ще»?
  68. 68.Як почати запит SWR до рендера компонента (наприклад, під час наведення)?
  69. 69.Що робить keepPreviousData: true у SWR за зміни ключа (наприклад, нового пошукового запиту)?
  70. 70.Що відбувається, коли loader у React Router кидає помилку?
  71. 71.Що таке clientLoader у framework mode React Router?
  72. 72.Навіщо оновлювати search-параметри з { replace: true }, поки користувач вводить фільтр?
  73. 73.Чим відрізняються оптимістичні й песимістичні оновлення?
  74. 74.Як бейдж у шапці може показувати всі мутації «додати в кошик», що очікують, з інших компонентів?
  75. 75.Як вбудувати WebSocket-потік цін у кеш SWR?