Реакт, ошибка в рендеринге элемента в зависимости от наличия класса
Может кто подсказать, что не верно здесь? Всё скомпилилось, но консоль локалхоста разрывается от кучи ошибок. Идея была в том, чтобы реализовать условный рендеринг в зависимости от наличия или отсутствия 'active'. Если класса нет, то кнопка, если есть, то input`ы. Но до существования самих инпутов пока не дошло, потому что итак не работает даже с дивами.
import React, { useRef } from 'react';
const CostButton = () => {
const classCheck = useRef('my-class');
const clickHandler = e => {
e.currentTarget.classList.toggle('active')
console.log(e.currentTarget)
};
const handleButtonClick = () => {
const myElement = classCheck.current;
if (myElement.classList.contains('my-class')) {
console.log('Класс присутствует на элементе');
} else {
console.log('Класс не найден на элементе');
}
};
return (
<div>
<div className='my-class' onClick={clickHandler} ref={classCheck}>
<h1>Example</h1>
</div>
<button onClick={handleButtonClick}>Проверить класс</button>
{classCheck.current.classList.contains('active') ? (
<div>'sssss...'</div>
) : (
<button onClick={clickHandler}>Call me!!</button>
)}
</div>
);
}
export default CostButton;
Источник: Stack Overflow на русском