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

Как передать метод через несколько вложенных компонентов?

17 ответов

13 просмотров

Через пропс контекста

Daniar- Автор вопроса
Artyom Burkan
Через пропс контекста

Это единственное решение?

какой метод?

Daniar- Автор вопроса
Максим
какой метод?

const deleteUser = (id) => { setUsers(users.filter((el) => el.id !== id)) }

Твой код выглядит правильным)0 ты правильно передаешь проп, да Ты выводил в третьем компоненте пропсы? Там точно нет onDelete?

Daniar
Это единственное решение?

Можешь через EventBus (шина событий), но это на мой взгляд хорошо в некоторых ситуациях

Daniar
const deleteUser = (id) => { setUsers(use...

тебе по сути надо только setUsers прокинуть, если вложенность до трех то можно пропсами, если больше то лучше вынести в контекст

Максим
тебе по сути надо только setUsers прокинуть, если ...

У него проблема в том, что не работает текущий код с передачей пропсов

Daniar- Автор вопроса
Nina
Твой код выглядит правильным)0 ты правильно переда...

Вот так сделал. Может не правильно? <IoCloseCircleSharp onClick={props.onDelete(props.user.id)} className="delete-icon" />

Daniar
const deleteUser = (id) => { setUsers(use...

давай смотреть твой код

Daniar
Вот так сделал. Может не правильно? <IoCloseCircle...

Так точно неправильно) тогда onClick={() => props.onDelete(props.user.id)}

Daniar
Вот так сделал. Может не правильно? <IoCloseCircle...

То есть у тебя проблема была в том, что не работает удаление, а не в том, что он не пробрасывается вниз?

Daniar- Автор вопроса
Nina
То есть у тебя проблема была в том, что не работае...

Спасибо, работает. Метод не пробрасывался вниз. Когда пишу probs, то почему то не видит onDelete

Daniar
Спасибо, работает. Метод не пробрасывался вниз. Ко...

Среда разработки не знает, что ты передаешь в props) ты же об этом? Что не было подсказок?

Daniar- Автор вопроса
Nina
Среда разработки не знает, что ты передаешь в prop...

Да об этом. Но в других местах кода видит, а именно в компоненте IoCloseCircleSharp нет. Спасибо, Нина, что помогла, только учусь, глупые ошибки

Daniar
Да об этом. Но в других местах кода видит, а именн...

Всё в порядке, это нормально) На подсказки IDE не стоит полагаться (только если ты не используешь тайпскрипт) Если кажется, что что-то где-то не работает, то ставь везде console.log и проверяй данные) В этой ситуации ты бы увидел, что в пропсах есть onDelete и стал бы искать проблему в другом, например, в том, что неправильно используешь функцию, и уже исследовал эту часть кода А ещё есть расширение React Dev Tools, полезный инструмент)

Daniar
Да об этом. Но в других местах кода видит, а именн...

Научись сразу нужные пропсы деструктуризацией вытаскивать

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

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

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
7
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Карта сайта