Comments 14
Настолько не-реакт-вей ещё поискать нужно, конечно.
не реакт-вей там только classList.toggle
, допустим вместо него есть локальный стейт компонента, относительно которого в рендере ставится нужный css-класс
Второй пример тоже никто ни разу не запускал. Был бы отличным примером, почему нельзя индекс из итератора как ключ (key) использовать (потому что при удалении из середины анимация проигрываться не будет), а ещё забыли метод handleDelete,
handleClick() {
const wrapper = document.getElementById('wrapper');
wrapper.classList.toggle('is-nav-open')
}
o_O. Как это попало на главную? Зачем эта статья здесь, да ещё и с таким клик-бейт заголовком. Дальше можно даже не читать. Кажется автор видел React только на картинках через подзорную трубу.
> добавляя теги в HTML-классы
WTF am I reading?
const wrapper = document.getElementById('wrapper');
Никогда не пишите вот так в Реакте! тут проблема даже не в нарушении какого-то там react-way, тут нарушается сам принцип выделения компонентов! Каждый компонент должен быть переиспользуемым и разумно изолированным. Здесь же не наблюдается ни того, ни другого...
Если уж так нужно "поиграть" с элементами DOM — используйте предназначенные для этого инструменты! Неужели так сложно было написать вот так?
const wrapper = ReactDOM.findDOMNode(this);
Или так?
const wrapper = this.wrapperRef.current;
5 отличных способов анимировать React-приложения в 2019 году