Nikulio
@Nikulio
NaN !== NaN

Как добавить элемент по клику в контейнер на React'e?

И так, при клике на кнопку я беру значение из state, вставляю его в элемент и хочу добавить в контейнер на странице. Знаю как это сделать на jQuery, но может есть более изящное решение на React?
Код ивента :
submitNote (e) {
	const elem = (
		<div className="elem">{this.state.userInput}</div>
	)
	document.querySelector('.data').append(elem);
}
  • Вопрос задан
  • 8759 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега React
может есть более изящное решение на React?
Конечно есть. Вы в обработчике должны менять state, при изменении state будет вызван метод render и всё автоматически перерисуется. Вообще забудьте про работу с DOM, в этом весь смысл использования React.

class App {
    constructor(props) {
        super(props);

        this.submitNote = this.submitNote.bind(this);

        this.state = {
            userInput: ``,
            shouldShowElem: false,
        };
    }

    submitNote() {
        this.setState({
            shouldShowElem: true,
        });
    }

    render() {
        return (
            <div className="data">
                Input here

                {this.state.shouldShowElem &&
                <div className="elem">{this.state.userInput}</div>
                }

                <button onClick={this.submitNote}>Click Me</button>
            </div>
        );
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы