выполнил и получил следующий фидбек.
"Основная ошибка в решении задачи – нарушение условия: Должен быть такой же счётчик рендеров, который честно отражает кол-во рендеров и всё прочее устройство логики компонентов должно максимально сохраниться"
Вопрос, такой, а как сделать честный счетчик и почему мой счетчик нечестный?
Мое решение:
https://codesandbox.io/s/lucid-allen-5qe3h?file=/src/App.tsx
Задание было:
Первая правка: Кнопки “Update” у элементов списка при клике должны менять 3 цифры в этом же элементе до круглых скобок с единицей (nnn (1)), но что-то не работает, хотя клиент утверждает, что его разработчик написал весь код 🙂 Похоже там ошибка.
Вторая правка: Кнопки “Update” теперь работают правильно, но обновление только в одной строке заставляет перерендериваться все 200 элементов списка. Это видно по счётчикам отрисовок в круглых скобках. Оптимизируй перерисовку, чтобы у элементов списка при клике на “Update” происходило обновление только того компонента, в котором нажимаем кнопку. renderCount уже показывает актуальное количество отрисовок компонента Row, переделывать его не нужно.
Если не получится эта правка, ничего страшного! Ты уже сделал главную правку. Главное сообщи результат в ближайшее время, я буду ждать.
Третья правка: Рефакторинг.
Перепиши классы на функциональные компоненты с применением hooks, сохраняя логику первых двух исправлений. Должен быть такой же счётчик рендеров, который честно отражает кол-во рендеров и всё прочее устройство логики компонентов должно максимально сохраниться.
На мидла, что ли задание?
Просто на реакт разработчика с опытом от года. На название не обращай внимание
Я вот думаю каждый раз когда ты вызываешь setRenderCount, разве ты не увеличиваешь количество рендеров на единицу. Типа наблюдатель влияет на наблюдаемое.
хахах, да
напишите как я выше, и покликайте на первую кнопку
Окей, сейчас
Вот условие
так условия то и нет. Начинается с того, какой прислали фидбэк
Там полеостью написано условие задачи ниже
ниже комментарии, условий нет
После Задание было Какие комментарии то?)
Обсуждают сегодня