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

Ну например мне нужна фома редактирования пользователя . Там полей 25.

Мне что , каждое перебирать руками чтобі передать в дочерний компонент?

26 ответов

32 просмотра

Весь обьект передавать

Ну так тебе ж по итогу в initialState надо передать ВСЕ поля юзера, т.е. обьект юзера. Отдельно поля перебирать а потом складывать как-то тупо

Vitaliy-Vitaliy | Автор вопроса
Назар Швець
Ну так тебе ж по итогу в initialState надо передат...

А если например не юзер а документ какой то. То тоже через стейт передавать? Юзер один , а доков много.

Vitaliy Vitaliy |
А если например не юзер а документ какой то. То то...

Передают через пропсы. Стейт просто хранит. Если тебе надо все поля документа, то логично было бы передать весь. Если не все, то передавай каждое поле отдельно, или что я бы посоветовал, это начать пользоваться адаптерами — функциями трансформаторами структур, из одной в другую; и ими уже отсекать ненужные поля.

Назар Швець
Передают через пропсы. Стейт просто хранит. Если т...

Так же адаптеры подойдут, если у тебя бекенд какую то неудобную херню присылает. Перегоняешь в удобный формат и красота.

Vitaliy Vitaliy |
Это функционал реакта?

Нет, реакт это тупая рендерилка, он больше ничего нормально не умеет. Чем быстрее ты это поймёшь, тем быстрее ты прокачаешься по скилам

Ну после JS реакт кстати не так сильно удивил, разве что предоставил возможность разделить компоненты на более логичные блоки вместо мессива функций.

Станислав Алимпиев
Ну после JS реакт кстати не так сильно удивил, раз...

Ну вот именно. Кроме компонентного подхода он ничего больше не предлагает. А туда засунули псевдо-стм и люди теперь изобретают велосипеды что бы обойти ограничения реакта, вместо того что бы сразу выкинуть эту затею, и делать то что умеет реакт лучше всего — рендерить на основании пропсов

Vitaliy Vitaliy |
Я от этого прям кайфую.

Еще лучше реакт с typeскриптом идет, там вообще огонь получается по коду. Но лучше начинать разработку по хорошему осваивать веб разработку с html, css, js, а потом лезть уже по фреимворкам.

Станислав Алимпиев
Еще лучше реакт с typeскриптом идет, там вообще ог...

Вообще не огонь учитывая проблемы его, но это тема для @ts_cool

Назар Швець
Ну вот именно. Кроме компонентного подхода он ниче...

Интересно даже какие ограничения у реакта, я сколько их помню там все решалось служебными функциями если что-то надо было сделать на том же js/

Назар Швець
Нельзя ничего сделать без процеса рендера

А так же все компоненты реакта, это закрытая коробка, к которой сбоку или снаружи не подобраться

Назар Швець
Нельзя ничего сделать без процеса рендера

Если писать саит на чистом JS с css без html, то там по сути тоже самое, только функции создать, добавить текст контент, удалить и отправить занесены под капот фреимворка.

Тогда вопрос. Зачем тебе реакт?

Назар Швець
Тогда вопрос. Зачем тебе реакт?

Мне фактический надобности нету в реакте, сейчас больше по вью и наксту работаю. Но больше на JS писать саиты понравилось, автоматизировал рендер элементов и логические события, ну а далее просто наполнение пишешь.

Станислав Алимпиев
Мне фактический надобности нету в реакте, сейчас б...

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

Назар Швець
Попробуй сделать хоть-немножко сложную форму на ре...

Ну с формой имел дело, как правило их состояние хранил в 1 хуке куда в своиства все поля пихал, а валидацию проводил до отправки формы, не скажу что 100% надежно, как говориться можно и лучше. Но как хорошую наработку держу на всякий.

Станислав Алимпиев
Ну с формой имел дело, как правило их состояние хр...

А теперь вспомни момент, что когда одна часть проего состояния изменяеться, меняеться ссылка на весь обьект и ВСЕ ререндериться. Надо обмазаться useCallback, useMemo, memo,передавать всё пропами, но и тогда к нам приходит *массив* и сложность возрастает в разы с каждой вложенностью. Посос так то. А берёшь какой-то мутабельний стм/форм-менеджер и как по маслу идёт

Назар Швець
А теперь вспомни момент, что когда одна часть прое...

Хзхз, и без этих либ для форм я думаю нормально справляться можно Разве что вспомню yamik ( так ведь назывался? ), полезная фигня для валидации полей и тп

Назар Швець
А теперь вспомни момент, что когда одна часть прое...

Да есть такое, если изменяется 1 своиство переменной, то вся переменная перезаписываеся, ну а оттуда и перерендер у тех кто смотрит ее состояние. Если полей от 1 до до 10 там не так много шансов что будут баги, а если больше, то надо делить.

Dmitriy
Хзхз, и без этих либ для форм я думаю нормально сп...

Я пробовал формиком это в начале пилить. Оказалось он полностью на хуках. Когда у меня на 1 ввод в инпут нужно было 30секунд смотреть на зависнувший екран, я осознал что что-то не то.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
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
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
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
Карта сайта