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

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

17 ответов

17 просмотров

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

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
Да об этом. Но в других местах кода видит, а именн...

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта