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

У меня другой вопрос: Как связать DOM элемент с компонентом реакта? Есть

несколько кнопок на странице - клик по одной из них должен открывать попап с формой, попап и форму решил сделать на реакте в рамках изучения технологии.
клик по кнопке обрабатывает такой обработчик:
applyHandler(event) {
const name = event.target.name;
import('../../react-components/apply-form.jsx').then(({default: applyForm}) => applyForm(name));
}
Таким образом я передаю в компонент по какой кнопке был клик
export default function(name) {
ReactDOM.render(<ApplyForm name = {name}/>, document.querySelector('.dinamic-content'));
}
изначально в state выставлено в конструкторе isOpen: true
constructor(props) {
super(props);
this.state = {
isOpen: true
};
this.closeComponent = this.closeComponent.bind(this);
}
closeComponent меняет isOpen на false и подвешен как обработчик клика на кнопку закрытия
closeComponent() {
this.setState({isOpen: false});
}
Соответственно после закрытия повторный клик на кнопку ни к чему ни приводит, так как состояние то не менятся...
Не могу придумать как связать эти вещи...
При вервом клике, когда происходить импорт компонента передать в пропсы массив этих кнопок и на каждую повесить обработчик который будет менять состояние?

3 ответов

6 просмотров

handlePopup { this.setState({ isOpen: !this.state.isOpen }) } например так.

Хочешь освоить реакт, бери и пиши проект дома у себя на нем, но то что ты делаешь, никакой пользы тебе не принесет

можешь попробовать использовать ReactDOM.unmountComponentAtNode

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

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

А чем вам питонисты не угодили?😂
.
79
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
а чем лучше всего сделать глобальный лок, если много нодов, до сотни? ну то есть мне надо, чтобы некоторые операции с объектом не происходили одновременно. перемещение между н...
Д. П.
15
Hi guys, I'm looking for a good LLM course. Is there any course to learn LLMs in advanced? I'm aiming to use them in my apps, so a perfect course in my openion, is not only a ...
Taha
14
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
Легче писать на C++ чем на C, если полностью не изучать C++, а знать только основное?
Алмаз
8
Карта сайта