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

Ребят, столкнулся с проблемой Есть такой мап: {schedule.lessons.map( (lesson,

index) => {
setIndexOfDay(indexOfDay + 1);

return (
<Day color={'green'} >
<Index>{indexOfDay}</Index>
<Name>{lesson.title}</Name>
<Description>{lesson.subtitle}</Description>
</Day>
)
},
)}

Из за строки setIndexOfDay(indexOfDay + 1); вызывается бесконечный ререндер, но мне нужно вызывать эту функцию внутри map. Как можно реализовать по другому?

11 ответов

13 просмотров

А почему ее нужно вызывать внутри map?

zhanarys- Автор вопроса
Volodymyr Klimov
А почему ее нужно вызывать внутри map?

Ну потому что его я его изменяю в зависимости от индекса

zhanarys
Ну потому что его я его изменяю в зависимости от и...

Вы просто единичку прибавляете schedule.lessons.length раз Скорее всего это можно сделать иначе

Volodymyr Klimov
Вы просто единичку прибавляете schedule.lessons.le...

конечно можно, например не делать это в рендер-функции

zhanarys- Автор вопроса
Volodymyr Klimov
Вы просто единичку прибавляете schedule.lessons.le...

Если объяснить полностью задачу, то вот Мне нужно при выходных добавлять +2 к индексу который рендерится внутри мапа {schedule.lessons.map( (lesson, index) => { setIndexOfDay(indexOfDay + 1); if (dayjs(schedule.startDate).add(index, 'day').day() === 0 || dayjs(schedule.startDate).add(index, 'day').day() === 6){ setIndexOfDay(indexOfDay + 2); } return ( <Day color={'green'} > <Index>{indexOfDay}</Index> <Name>{lesson.title}</Name> <Description>{lesson.subtitle}</Description> </Day> ) }, )}

zhanarys- Автор вопроса
Volodymyr Klimov
Что такое "indexOfDay"?

Это по сути index от map, но мне нужно его изменять в зависимости от дня недели

zhanarys
Это по сути index от map, но мне нужно его изменят...

Да нет, что это такое в плане бизнесс-сущности, что-ли? Что он представляет? Вы описываете решение, а не задачу

zhanarys- Автор вопроса
Volodymyr Klimov
Да нет, что это такое в плане бизнесс-сущности, ч...

Задача - сделать календарь, конкретнее сейчас - рендерить индекс только будних дней

zhanarys
Задача - сделать календарь, конкретнее сейчас - ре...

Все равно ничего не понял, ну да ладно, сформируйте нужные индексы вне рендер-функции, а внутри нее уже используйте

zhanarys- Автор вопроса
Volodymyr Klimov
Все равно ничего не понял, ну да ладно, сформируйт...

Спасибо, я решил с помощью if’a и добавил к данным дня собственную дату if (dayjs(lesson.date).day() !== 0 || dayjs(schedule.startDate).day() !== 6){ return ( <Day color={}> <Index>{dayjs(lesson.date).date()}</Index> <Name>{lesson.title}</Name> <Description>{lesson.subtitle}</Description> </Day> ) }

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта