Реагируйте: Сценарий 'Не удалось скомпилировать' с помощью componentDidMount()

Настроить

Я загрузил библиотеку Vanilla JS lightgallery.js через NPM и importing это как обычно.

вопрос

Я инициализирую эту библиотеку через componentDidMount(), но это не удается скомпилировать, потому что 'lightGallery' is not defined, см образец ниже

Я подтвердил, что библиотека импортируется, удалив componentDidMount() и инициализировать его через консоль Chrome. Когда я делаю это, он работает как задумано.

Я не понимаю, почему это приводит к 'lightGallery' is not defined когда импорт четко работает, когда я не инициализирую его componentDidMount(), Я предполагаю, что это либо проблема с элементами, отсутствующими в DOM при загрузке или это проблема с тем, как мой import это настройка.

Любая помощь будет оценена.

Текущая страница

Это урезанная версия моей установки с элементами галереи, закодированными для легкого объяснения.

import React, { Component } from 'react';
import 'lightgallery.js';

class Gallery extends Component {

    componentDidMount() {
        lightGallery(document.getElementById('lightgallery'));
    }

    render() {

        return (
            <>
                <section>
                    <h1>Gallery</h1>
                </section>
                <section>
                    <div id="lightgallery">
                        <a href="img/img1.jpg">
                            <img src="img/thumb1.jpg" />
                        </a>
                        <a href="img/img2.jpg">
                            <img src="img/thumb2.jpg" />
                        </a>
                        <a href="img/img3.jpg">
                            <img src="img/thumb3.jpg" />
                        </a>
                    </div>
                </section>
            </>
        ); 
    }
}

export default Gallery;

0 ответов

Другие вопросы по тегам