← Усі теми

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

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

Пройти цей тест
  1. 1.Що таке «стан» (state) у React-компоненті?
  2. 2.Чому лічильник на екрані не змінюється?
  3. 3.Коли потрібна функціональна форма setCount(c => c + 1) замість setCount(count + 1)?
  4. 4.Як правильно оновити одне поле об'єкта в стані?
  5. 5.Як видалити елемент з id з масиву в стані?
  6. 6.Навіщо передавати функцію в useState(() => createInitialTodos())?
  7. 7.Чи потрібно зберігати fullName у стані, якщо вже є firstName і lastName?
  8. 8.Що таке «локальний» стан компонента і коли його достатньо?
  9. 9.Що повертає useReducer?
  10. 10.Якою має бути функція-редʼюсер?
  11. 11.Коли useReducer зазвичай зручніший за кілька useState?
  12. 12.Що зазвичай робить редʼюсер для невідомого type дії?
  13. 13.Чому дії називають за тим, що сталося ('task_added'), а не що зробити ('set_tasks')?
  14. 14.Що таке prop drilling?
  15. 15.Що таке «підняття стану» (lifting state up)?
  16. 16.Який прийом часто розв'язує prop drilling без Context?
  17. 17.Чи є передавання пропсів на 2–3 рівні проблемою саме собою?
  18. 18.Яке завдання розв'язує Context API?
  19. 19.Які кроки потрібні, щоб використати Context?
  20. 20.Що поверне useContext(ThemeContext), якщо вище немає провайдера?
  21. 21.Які компоненти перемалюються при зміні value провайдера?
  22. 22.Які дані добре підходять для Context?
  23. 23.Навіщо обгортати useContext у власний хук на кшталт useAuth()?
  24. 24.Чи може компонент використовувати кілька контекстів одночасно?
  25. 25.Що таке Redux Toolkit (RTK)?
  26. 26.Що генерує createSlice?
  27. 27.Чому всередині редʼюсерів createSlice можна «мутувати» state?
  28. 28.Що робить configureStore?
  29. 29.Як під'єднати Redux-стор до React-застосунку?
  30. 30.Для чого потрібні useSelector і useDispatch?
  31. 31.Що таке action (дія) в Redux?
  32. 32.Де в Redux Toolkit має бути запит до сервера?
  33. 33.Що таке Zustand?
  34. 34.Як прочитати лише одне поле зі стору Zustand?
  35. 35.Як оновити стан у Zustand?
  36. 36.Чи потрібен стору Zustand компонент-провайдер?
  37. 37.Як зберігати стор Zustand у localStorage?
  38. 38.Чим серверний стан відрізняється від клієнтського (UI)?
  39. 39.Для чого потрібен TanStack Query (React Query)?
  40. 40.Які дві обов'язкові частини в useQuery?
  41. 41.Що потрібно зробити перед викликом useQuery у застосунку?
  42. 42.Як надіслати POST-запит (створити елемент) з TanStack Query?
  43. 43.Чому TanStack Query перезапитує дані під час повернення у вкладку браузера?
  44. 44.Що таке RTK Query?
  45. 45.Що генерує createApi для ендпоінта getPosts: builder.query(...)?
  46. 46.Як мутація RTK Query змушує списки перезапитатися після додавання елемента?
  47. 47.Що означає назва SWR?
  48. 48.Які аргументи в useSWR(key, fetcher)?
  49. 49.Що таке loader у React Router?
  50. 50.Що таке action у React Router?
  51. 51.Чи оновлює стан зміна аргументу useState(initial) на наступних рендерах?
  52. 52.Коли два шматки стану варто об'єднати в один об'єкт?
  53. 53.Де розміщувати провайдер Context?
  54. 54.Які три принципи описують класичний Redux?
  55. 55.Що дають змогу робити Redux DevTools?
  56. 56.Навіщо визначати функції-селектори на кшталт selectCartTotal(state) замість інлайн-звернень усюди?
  57. 57.Куди потрапляє аргумент, коли ви надсилаєте todoAdded("Buy milk"), створений createSlice?
  58. 58.Що надає об'єкт Redux-стору?
  59. 59.Для чого потрібен createAsyncThunk?
  60. 60.Як дія Zustand читає поточний стан?
  61. 61.Чому Zustand може давати менше перерендерів, ніж один Context із тим самим станом?
  62. 62.З яких полів результату useQuery зазвичай рендерять UI?
  63. 63.Як вручну перезапитати дані, наприклад за кнопкою «Оновити»?
  64. 64.Що показують TanStack Query Devtools?
  65. 65.Які хуки RTK Query генерує для ендпоінтів getPosts (query) і addPost (mutation)?
  66. 66.Чим isLoading відрізняється від isValidating у SWR?
  67. 67.Чому fetcher у SWR має кидати помилку за неуспішних HTTP-відповідей?
  68. 68.Як прочитати частину :id з URL /users/:id у компоненті React Router?
  69. 69.Як loader у React Router дізнається, який елемент завантажити?
  70. 70.Де зберігати запит у полі пошуку, щоб сторінкою можна було поділитися й вона переживала перезавантаження?
  71. 71.У невеликому застосунку є перемикач теми й користувач, що увійшов. Яких інструментів стану зазвичай досить?
  72. 72.Що таке «стор» у бібліотеках керування станом?
  73. 73.Як компоненту запам'ятати налаштування в localStorage між візитами?
  74. 74.Як зазвичай виглядає об'єкт дії для useReducer?
  75. 75.Що таке «атомарний» підхід до стану в бібліотеках на кшталт Jotai?