169 похожих чатов

Всем привет. Прислали тестовое задание с одной вакансии, которую и

выполнил и получил следующий фидбек.
"Основная ошибка в решении задачи – нарушение условия: Должен быть такой же счётчик рендеров, который честно отражает кол-во рендеров и всё прочее устройство логики компонентов должно максимально сохраниться"
Вопрос, такой, а как сделать честный счетчик и почему мой счетчик нечестный?
Мое решение:
https://codesandbox.io/s/lucid-allen-5qe3h?file=/src/App.tsx

Задание было:

Первая правка: Кнопки “Update” у элементов списка при клике должны менять 3 цифры в этом же элементе до круглых скобок с единицей (nnn (1)), но что-то не работает, хотя клиент утверждает, что его разработчик написал весь код 🙂 Похоже там ошибка.

Вторая правка: Кнопки “Update” теперь работают правильно, но обновление только в одной строке заставляет перерендериваться все 200 элементов списка. Это видно по счётчикам отрисовок в круглых скобках. Оптимизируй перерисовку, чтобы у элементов списка при клике на “Update” происходило обновление только того компонента, в котором нажимаем кнопку. renderCount уже показывает актуальное количество отрисовок компонента Row, переделывать его не нужно.
Если не получится эта правка, ничего страшного! Ты уже сделал главную правку. Главное сообщи результат в ближайшее время, я буду ждать.

Третья правка: Рефакторинг.
Перепиши классы на функциональные компоненты с применением hooks, сохраняя логику первых двух исправлений. Должен быть такой же счётчик рендеров, который честно отражает кол-во рендеров и всё прочее устройство логики компонентов должно максимально сохраниться.

11 ответов

11 просмотров

На мидла, что ли задание?

RR- Автор вопроса

Просто на реакт разработчика с опытом от года. На название не обращай внимание

Я вот думаю каждый раз когда ты вызываешь setRenderCount, разве ты не увеличиваешь количество рендеров на единицу. Типа наблюдатель влияет на наблюдаемое.

хахах, да

напишите как я выше, и покликайте на первую кнопку

RR- Автор вопроса

Окей, сейчас

RR- Автор вопроса

Вот условие

так условия то и нет. Начинается с того, какой прислали фидбэк

RR- Автор вопроса

Там полеостью написано условие задачи ниже

ниже комментарии, условий нет

RR- Автор вопроса

После Задание было Какие комментарии то?)

Похожие вопросы

Обсуждают сегодня

Скажите, можно ли как-то "переместить" динамический массив из одной переменной в другую? Скажем, переместить из TList<> в TArray<>. Именно переместить, а не скопировать. Если ...
Eugene Krasnikov (ᴊɪɴ x)
36
комрады, че-та лыжы не едут var tmpFont: TFont; begin tmpFont:= TFont.Create; try case rgFontColor.ItemIndex of 0: tmpFont.Color:= clWindowText; 1: tmpFo...
Ed Doc
34
М-да. Почему бы просто со stringlist не работать?
Michael Longneck
18
Интересно, нет ли какого-то способа получить из dll не адрес самой метки, а адрес со смещением?
The Bird of Hermes
54
Можно вообще написать: Person fName' lName' age'. Тогда действительно имена полей потребуются лишь в строковом виде, чтобы эти fName' и т.д. достать :-) Но разве для этого нуж...
Михаил
8
generic procedure function test<T>(param: T); type case T of longint: NewT = word; longword: NewT = byte; end; var v1: NewT; Как это можно сделать? Чтобы у меня...
notme
21
Делал задачу вот такую https://stepik.org/lesson/4985/step/9?unit=1083 получилось такое https://play.haskell.org/saved/ipKrepqe оно работает, тестов много не писал, но работае...
Fedor
22
Hello everyone I am trying to run 4 year old project and I am having this issue anyone can help?
Nitish Garg
11
преобразовать в число или в один тип?
Alexey Kulakov
11
а фасм переживёт включение файла на 47 гигов?
Mixail Frolov
9
Карта сайта