когда тебе говорят выполнить ТЗ, которое не является для тебя вызовом и занимает всего час времени, а потом не отвечают вообще - это довольно грустно
Стоит ли пытаться "удивить" проверяющего? Есть ли прок от того, что в задании, где просят написать коротенький код, я его дополняю, подключая celery, меняя базу данных с локальной на более релевантную, засовывая приложение в докер образ?
ReactDOM.createRoot(document.getElementById('root')).render(
<App />
);
const Button = ({info, id}) => {
const btn = useCallback((id) => {
setTodo(prevTodo => prevTodo.map(item => {
if(item[0] === id) {
return [...item.slice(0,6), !item[6], ...item.slice(7)];
}
return item;
}));
}, []);
return (
<button
className={`icon ${info ? 'icon-play' : 'icon-pause'}`}
onClick={() => btn(id)}
/>
);
}
Ребят вы знаете, в чем проблема, и куда копать....Нет конечно... Берете код, бьете на блоки, расставляете метки времени, отчет по затраченному времени пишете в лог. Проблемные места смотрите и решаете можете ли уменьшить время исполнения. Вангую что самые тормоза у вас будут на выборке из бд или на запросах к апи. В случае бд - вывести запрос и сделать explain. По результату уже можно будет что-то советовать. В случае тормозов с апи - тут уже ничего в плане оптимизации сильно не придумаешь, но в любом случае задачи лучше будет скинуть в очередь и уже оттуда они будут выполняться, пока не закончится список. Кроме того, выборка по одной записи из бд в цикле - классическая ошибка, нужно объединить все запросы в один через join или in(), а дальше работать с полученным массивом.