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

Привет ребят) Выбрал сегодня время, написал в песочнице мини туду,

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

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

вот песочница: https://codesandbox.io/s/charming-cloud-tlhiy?file=/src/components/containers/TodoContainer/index.jsx

Подсобите пожалуйста ребят)

3 ответов

12 просмотров

- почему не TS? - export default... Накидают тебе сейчас кирпичей - react-addons-update попробуй для работы с immutable data - не ради холивара, но я бы не использовал css-in-js (styled) - для первой тудушки - норм

Для начала вполне хорошо. Только функциия getNextId очень плохо написана - будет бага при сортировке или удалении последнего элемента

1. убрать strictmode, он меняет работу реакта, появляются расхождения в исполнениях хуков (надо проверять, могли пофиксить. С этим @zerobias много раз сталкивался) 2. выкинуть export default для компонентов, если к этому не принуждает фреймворк 3. я именую все файлы в param-case. не надо выдумывать новый стиль для каждого типа файлов 4. нет смысла смешивать css и styled. Выбери что-то одно В остальном всё ок. Мои личные советы: - Не разделять на контейнер и компонент там, где нет отдельного переиспользования компонента и/или контейнера. Ты разделишь код, который в этом не нуждается. Логика будет размазана по двум файлам, хотя изменения ты будешь почти всегда вносить в оба файла, что собственно и говорит о том, что код должен лежать в одном месте. - checkbox можно отверстать 1 инпутом и 1 дивом, тебе не нужен отдельный checker. Просто стилизуй input. - погрузись в @AtomicDesign, это методология разделения визуальных компонентов на слои, по сложности и зависимости друг от друга. Сильно упрощает разработку любого проекта. А сразу за этим следует, что нужно разделять компоненты чисто UI, то есть без логики, от компонентов с логикой. Ну и это родило методологию FeatureSlices. Но это позже, скорее всего сам дойдешь. Ну или как будешь готов, пингуй

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

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

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
Карта сайта