Как проверить, если условие внутри componentDidMount и componentWillUnmount? - PullRequest
0 голосов
/ 24 июня 2019

Ниже приведен мой компонент в моем, который мне нужен для проверки условия if внутри componentDidMount и componentWillUnmount. Я могу написать контрольный пример для componentDidMount, но застрял с if внутри componentDidMount. Любые указатели действительно помогут мне.

Код -

class TestComponent extends React.Component {
    constructor(props) {
        super(props);
        this.element = React.createRef();
    }

    componentDidMount() {
        const scrollableContainer = this.element.current;
        if (scrollableContainer) {
            scrollableContainer.addEventListener('scroll', this.handleScroll);
        }
        this.getUserData();
    }

    componentWillUnmount() {
        const scrollableContainer = this.element.current;
        if (scrollableContainer) {
            scrollableContainer.removeEventListener('scroll', this.handleScroll);
        }
    }

    handleScroll = () => {
        console.log(`Event Firing`);
    }

    render() {
        return (
            <div className="container">
                <div className="basic-info">
                    <p>Dummy Text Basic 1</p>
                    <p>Dummy Text Basic 2</p>
                    <p>Dummy Text Basic 3</p>
                    <p>Dummy Text Basic 4</p>
                </div>
                <div className="advance-info" ref={this.element}>
                    <p>Dummy Text Advance 1</p>
                    <p>Dummy Text Advance 2</p>
                    <p>Dummy Text Advance 3</p>
                    <p>Dummy Text Advance 4</p>
                    <p>Dummy Text Advance 5</p>
                    <p>Dummy Text Advance 6</p>
                    <p>Dummy Text Advance 7</p>
                    <p>Dummy Text Advance 8</p>
                </div>
            </div>
        )
    }
}

Контрольный пример для componentDidMount -

it('should test componentDidMount for handling scroll Event', () => {
const component = shallow(<TestComponent {...props} />);
const funcSpy = jest.spyOn(component.instance(), 'getUserData');
component.instance().componentDidMount();
expect(funcSpy).toHaveBeenCalled();

});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...