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

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

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

26 ответов

16 просмотров

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

Ну так тебе ж по итогу в 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секунд смотреть на зависнувший екран, я осознал что что-то не то.

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

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

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
9
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
Доброе время суток! у меня тут иноды закончились. и понял почему по сути кстит, я периодически очищаю постгрес и сентри контайнер: postgres=# DELETE FROM nodestore_node WHER...
Юсиф Насиров
9
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
lazarus-3.2.0/gtk, linux патч "имя проекта по умолчанию project1 -> prj" день добрый не нравится "именя проекта по умолчанию" (project1), к.раз приходится переименовывать (н...
livontiy
5
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Коллеги, а в чём сейчас хорошо писать на перле, в смысле ide? Пробовал в идее с плагином, подсветка есть, даже какие-то предупреждения есть, но рефакторинга считай нет. Перене...
Дмитрий Петров
9
Can I forward ports (including the SSH port) between two machines without SSH? I know I can forward SSH server port from machine A (which blocks all requests by firewall) to ...
required optional
5
Всем вечера. Подскажите как лучше сделать. делаю на Д10 Например будет база данных на SQLite. в ней будет много таблиц. более 50шт Типа справочник. Содержать ID Name Id p...
Андрей Т 🐎
10
Карта сайта