Niksak, ты всё правильно понял useEffect без массива зависимостей используется как замена метода класса componentDidMount. Но в твоем случае, у тебя есть зависимость в виде currentPage. Если ты не добавишь currentPage в зависимости хука, то при смене значения currentPage твой хук не будет вызван.
Я бы в сторону D3 смотрел. Библиотеку много кто использует. Документации по ней много. А колхозить на CSS, имхо, это на один раз и в идеологию реакта не вписывается)
Niksak
1. если ты используешь useRef, то да, доступ через current - такой синтаксис
2. Проверка через "?" нужна всегда и везде, поскольку начальное значение undefined и ты не знаешь в какой момент оно будет выставлено.
3. Да, функцию с axios можно завернуть в калбек
Посмотрел по твоему коду, есть еще куча косяков):
//Вызываем функцию init только когда впервые отрендерится компонент
useEffect(() => {
init(currentPage);
}, []);
Код некорректен, потому что отсутствует зависимость от currentPage, которая сама объявлена через хук.
А вообще, советую тебе поставить ESLint и без него не работать
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.