Andrew Smith
что я делаю не так?
нужно этот код в реакт перенести, но он отказывается работать
менюшка при скроле должна поменять цвет.
пытаюсь сделать так:
const header = document.querySelector('.header.container');
export default class Header2 extends React.Component {
state = {
scrol: header,
};
changeColor = ('scrol', () => {
this.setState color = scrollY
if (color > 250) {
${header.style.backgroundColor} = {style: '#29323c'};
} else {
${header.style.backgroundColor} = 'transparent';
}
});
Вообще самая грубая ошибка здесь состоит в использовании стандартных методов апи для работы с DOM (document.querySelector) в приложении на Реакте. Такой код нарушает концепцию и философию Реакта. Ведь Реакт это библиотека для создания интерфейсов декларативным способом. Можно сказать, что Реакт это абстракция над кодом, который просто работает с тем же DOM деревом посредством методов апи (document.querySelector, document.querySelectorAll и т.д). То есть Реакт берет на себя всю ответственность по взаимодействию с DOM, позволяя программисту не беспокоиться во время разработки о таких второстепенных и отвлекающих от основной мысли вещах как создание нового элемента, его добавление в уже существующий на странице элемент, добавление и удаление обработчиков событий и т.д.
А ты в своем коде идешь как бы в обход этих ключевых возможностей, делая тем самым использование Реакта в своем проекте вообще бессмысленным