mrsexy
@mrsexy
Senior Pomidor

Как при рендере инициализировать скрипт в React?

Подключаю в проект реакта библиотеку "Peppermint" в index.html, через import в компоненту не работает, библиотека в нодах есть. Проблема заключается в том, чтобы произвести инициализацию скрипта внутри компоненты при рендере. Т.е, сейчас всё работает при первичной отрисовке DOM. Если происходит рендер других компонент(переключение между страницами и т.д), перестаёт работать, нужно перезагружать DOM.

import React from 'react';
import c from './Category.module.css';
import Peppermint from '@seangenabe/peppermint';
 // При вызове из компоненты пишет: 'Peppermint' is defined but never used  no-unused-vars, но не знаю как сделать инициализацию.



const Category = (props) =>{
return(
    <div className={c.category}>

        <div className="peppermint peppermint-inactive" id="peppermint">
            <div className={c.swipe__page}><h2 className={c.title__page}>Filter</h2></div>
            <div className={c.swipe__page}><h2 className={c.title__page}>Category</h2></div>
            <div className={c.swipe__page}><h2 className={c.title__page}>Another Page</h2></div>
        </div>
    </div>

    );
   }
   export default Category;

Если нельзя его вызвать как модуль, возможно как-то вызывать эту функцию внутри компоненты? Инициализация через JS
var slider = Peppermint(document.getElementById('peppermint'));


Идеи кончились, в гугле ответа не нашел. Помогите с решением пожалуйста.
  • Вопрос задан
  • 200 просмотров
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
Используйте методы жизненного цикла:
componentDidMount для инициализации,
componentDidUpdate для повторной инициализации,
shouldComponentUpdate для препятствия ненужным перерисовкам.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Очевидно, что она инициализируется с привязкой к конкретным элементам DOM. Решение проще пареной репы, производите реинициализацию при каждом рендере.
Ответ написан
Ваш ответ на вопрос

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

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