Архитектура фронтенда
Форма состояния: свободное припоминание
Припоминание сильнее перечитывания. На каждый промпт скажи или запиши полный ответ по памяти, прежде чем открыть модельный — именно усилие припоминания закрепляет решения про форму.
Восстанови ключевые решения юнита — выводимое vs хранимое, server cache vs клиентский state, colocation, URL как источник истины и normalization — не подглядывая в урок.
- 01Какой тест определяет, является значение state или выводимым (derived), и почему хранение выводимого значения вызывает баги?
- 02Почему вопрос «server cache vs клиентский state» — самый важный про форму и как он меняет твой инструментарий?
- 03Что такое colocation, почему она делает приложение быстрее и чем отличается от «lift state up»?
- 04Какие виды state принадлежат URL и что ломается, если держать их только в useState?
- 05Когда клиентский state надо нормализовать и в чём именно трейдофф против вложенной формы?
- 06Пройди по порядку вопросов, которые сеньор задаёт, решая, где должно жить любое значение.
Если ты смог восстановить каждый ответ по памяти, ты держишь стержень юнита: выводи выводимое, чтобы оно не расходилось, распознавай полученные данные как server cache и отдавай их библиотеке кэша, колоцируй приватный клиентский state у нижнего читателя вместо подъёма, шарящееся view-состояние клади в URL, а реляционные данные нормализуй только когда их мутируешь. Единое дерево решений — выводимо? серверное или клиентское? шарящееся? нижний читатель? — это и есть то, что предотвращает баги формы, о которых предупреждал весь юнит.