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

Подскажите по реакту, как менять состояние компонента если данные для

этого передаются из другого компонента по событию?
export default function Messages(props) {
const [messages, setMessages] = useState([]);
return <div>
{
messages.map((msg) => {
<Message value={msg.value}/>
})
}
</div>
}

Данные этой функцией принимаются в родительском компоненте:
function messageSendHandler(value) {

}

15 ответов

19 просмотров

Что значит как? Берешь setMessages и меняешь

Dlazder- Автор вопроса
Orekhov
Что значит как? Берешь setMessages и меняешь

Так я должен по тригеру другого компонента менять стейт

Dlazder- Автор вопроса
Orekhov
И что? Передай туда setMessages

Через функцию вверх прокинуть? Так undefined же будет

Dlazder
Через функцию вверх прокинуть? Так undefined же бу...

Тебе надо родителю передать функцию для смены своего стейта? Значит тебе надо это функцию и Стейт сделать в родителе

Dlazder- Автор вопроса
Orekhov
Тебе надо родителю передать функцию для смены свое...

Мне не нужно стейт передавать родителю, стейт создан и используется в одном компоненте. Но стейт должен получать данные из родительского компонента и добавлять их. (При нажатии на кнопку в родительском компоненте)

передай эти данные пропсами или залей на кодлаб я гляну

Dlazder- Автор вопроса
Orekhov
передай эти данные пропсами или залей на кодлаб я ...

А если пропс будет меняться, будет ререндер компонента?

Dlazder
А если пропс будет меняться, будет ререндер компон...

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

Dlazder- Автор вопроса
Dlazder
Я нехочу ререндерить родителя

ну ты не можешь это делать, если у тебя стейт там сидит через useState любое обновление state триггерит ререндер

Dlazder- Автор вопроса

Если бы стейт был сверху, то проблем не было бы

Dlazder
Я нехочу ререндерить родителя

да и на самом деле, реакт достаточно быстрй, если у тебя не 1000 детей, то ничего такого страшного в ререндере нет

Dlazder- Автор вопроса
Wilson Wilson 🦄
да и на самом деле, реакт достаточно быстрй, если ...

Ну сейчас страшного нет, т.к. это просто песочница а вообще надо бы знать...

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

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

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