|
4 / 4 / 1
Регистрация: 26.03.2023
Сообщений: 153
|
||||||
Как правильно передать setState от ребенка к родителю05.04.2024, 21:41. Показов 2557. Ответов 37
Всем привет. Мне нужно передать функцию setImages из компонента CardSlider (ребенка) компоненту Card (родителю). Вот часть моего кода:
У меня в итоге то все работает, но чувство, что я написал кучку какашек меня никак не покидает. Помогите пожалуйста понять правильным ли решением я воспользовался
0
|
||||||
| 05.04.2024, 21:41 | |
|
Ответы с готовыми решениями:
37
Как передать из попап окна родителю переменную? Как передать родителю из iframe параметр средствами jQuery вкладки (табы) передать значение родителю |
|
3857 / 1753 / 432
Регистрация: 14.03.2022
Сообщений: 4,439
|
|||||||||
| 11.04.2024, 15:00 | |||||||||
|
Ты уже сделал первый, осмысленный шаг к решению своей проблемы. Сейчас сварганю некий вариант решения... ![]() Добавлено через 14 минут Кликните здесь для просмотра всего текста
Я немного подделал твой пример под свое понимание стиля написания кода. После изменения images ты не увидишь в консоли сообщений о рендере CardProperty. ![]() Добавлено через 6 минут Еще совет... Такие вот "куски" ![]() Тогда меморизовать нужно будет только его, а не CardProperty.И сам материнский компонент будет более компактен.
0
|
|||||||||
|
4 / 4 / 1
Регистрация: 26.03.2023
Сообщений: 153
|
||
| 11.04.2024, 15:32 [ТС] | ||
|
Я знаю, что так лучше не делать и я думаю, что сделаю рефакторинг (вроде это называется рефакторингом, а не декомпозицией, я путаю эти термины), но почему когда я объявляю компоненты внутри компонента Card и также как и ты использую мемоизацию, то у меня ничего не работает?
0
|
||
|
3857 / 1753 / 432
Регистрация: 14.03.2022
Сообщений: 4,439
|
||
| 11.04.2024, 15:53 | ||
0
|
||
|
4 / 4 / 1
Регистрация: 26.03.2023
Сообщений: 153
|
|
| 11.04.2024, 15:55 [ТС] | |
|
Почему я создаю новые компоненты?
0
|
|
|
3857 / 1753 / 432
Регистрация: 14.03.2022
Сообщений: 4,439
|
||
| 11.04.2024, 16:17 | ||
Card)?Как минимум - это вызов функции Card().Что делается в этой функции - как минимум создаются (каждый раз) значения для переменных (в твоем случае CardProperty и пр.)
0
|
||
|
4 / 4 / 1
Регистрация: 26.03.2023
Сообщений: 153
|
|
| 11.04.2024, 16:20 [ТС] | |
|
Но рендер компонента Card происходит только один раз: при первом рендеринге Card, нет?
0
|
|
|
3857 / 1753 / 432
Регистрация: 14.03.2022
Сообщений: 4,439
|
||||||||
| 11.04.2024, 16:27 | ||||||||
Card.Первый раз когда страница создана... И каждый раз - когда жмут на кнопку Add Image. ![]() Вот сварганил тебе "альтернативный вариант", если прям так прет создавать компоненты внутри других компонентов... ![]() Кликните здесь для просмотра всего текста
0
|
||||||||
|
4 / 4 / 1
Регистрация: 26.03.2023
Сообщений: 153
|
|
| 11.04.2024, 16:30 [ТС] | |
|
Я думал, что ререндер, это именно заново исполняется блок render (), но видимо при ререндере компонент начинает заново создавать всё переменные и сущности до блока render или я что-то снова не понял (
0
|
|
|
3857 / 1753 / 432
Регистрация: 14.03.2022
Сообщений: 4,439
|
|
| 11.04.2024, 16:33 | |
|
Что за "блок render ()"?
![]() Добавлено через 1 минуту samiroutka, рендер функционального компонента - это вызов функции, которой он был описан. А далее все работает "как в обычной функции". Никакой разницы нет.
0
|
|
|
4 / 4 / 1
Регистрация: 26.03.2023
Сообщений: 153
|
|
| 11.04.2024, 16:33 [ТС] | |
|
Ой, не render, а return (уже крыша едет)
0
|
|
|
3857 / 1753 / 432
Регистрация: 14.03.2022
Сообщений: 4,439
|
||
| 11.04.2024, 16:38 | ||
return дойдет - будет выполняться каждая строка внутри функции...
0
|
||
|
4 / 4 / 1
Регистрация: 26.03.2023
Сообщений: 153
|
|
| 11.04.2024, 16:42 [ТС] | |
|
Да, я кажется понял. Тогда попробую переписать "нормально". Без вложенных компонентов, а то один раз попробовал вложить компонент в другой и почувствовал свободу от передачи кучи пропсов
0
|
|
|
3857 / 1753 / 432
Регистрация: 14.03.2022
Сообщений: 4,439
|
|
| 11.04.2024, 17:00 | |
|
0
|
|
|
4 / 4 / 1
Регистрация: 26.03.2023
Сообщений: 153
|
|
| 11.04.2024, 17:08 [ТС] | |
|
Контексты я юзал, они не очень удобны. А стейт менеджеры не хочу юзать, чтобы react был чистый что ли. Хочу научиться на чистом реакте писать, думаю это будет полезно
0
|
|
|
3857 / 1753 / 432
Регистрация: 14.03.2022
Сообщений: 4,439
|
||
| 11.04.2024, 17:20 | ||
![]() Стилистически даже интереснее. Но дело хозяйские конечно...
0
|
||
|
250 / 184 / 58
Регистрация: 12.03.2021
Сообщений: 1,043
|
||
| 12.04.2024, 13:06 | ||
|
0
|
||
|
4 / 4 / 1
Регистрация: 26.03.2023
Сообщений: 153
|
|
| 12.04.2024, 13:16 [ТС] | |
|
Ты прав. Но я опять же не говорил что у меня на данный момент в проекте 100500 сущностей, но даже если они появятся, то думаю буду юзать дефолтный контекст
0
|
|
|
4 / 4 / 1
Регистрация: 26.03.2023
Сообщений: 153
|
|
| 13.04.2024, 09:24 [ТС] | |
|
Честно говоря не знаю как (к сожалению), но у меня теперь все работает и без memo. Я просто сделать декомпозицию (вывел все компоненты в отдельные файлы)
0
|
|
| 13.04.2024, 09:24 | |
|
Дочерние процессы должны сгенерировать случайные числа и передать их родителю Как правильно передать указатель на структуру, и правильно ее использовать RestTemplate: как правильно правильно передать JSon Составить описание класса ребенок (Child), в котором задается имя ребенка, имена родителей, дата рождения ребенка
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Содержание проекта
Симуляция вековой (50 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов
Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|
|
Сукцессия 20. Война автоботов. Делаем ставки. Лёд против "пш-пш!".
anaschu 11.07.2026
Битва ИИ в ризосфере: Как мы скрестили жесткие ОДУ, закон Фика и «подземный шантаж»
Уважаемые коллеги!
Хочу поделиться уникальным опытом ведения междисциплинарной компьютерной разработки. Прямо. . .
|
Сукцессия 19. Какие выводы я сделал из модели? Часть 2.Внутримикоризный стехиометрический буфер и хроно-дискретные зоны экспансии
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
|
Сукцессия 18. Какие выводы я сделал из войны грибов с деревьями? Часть 1- рассказ и немного про термины
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
Система ОДУ описывает динамику изменения массы различных компонентов системы во времени. Ключевой. . .
|
Просветление в 5 секунд
kumehtar 10.07.2026
Андрей Веретенников выдал фразу недавно: "Вам не обязательно кем-то себя считать"
|