Используйте контекст компонента в функции - PullRequest
0 голосов
/ 06 июня 2018

У меня проблема - я пытаюсь использовать actScrollbar , но пакет имеет функцию scrollTop() в контексте.

У меня есть это:

<ScrollArea
   speed={0.5}
   className="scroll-container"
   contentClassName="container"
   smoothScrolling={true}
   horizontal={false}
   onScroll={(value) => this.handleScrollWheel(value)} >

Я хочу сделать что-то вроде:

handleScrollWheel = (value) => { 
   this.context.scrollArea.scrollTop();
}

Контекст не определен.Любые решения?

1 Ответ

0 голосов
/ 06 июня 2018

Вам необходимо зарегистрироваться на context ScrollArea:

Из DOCS

class App extends React.Component {
    render(){
        return (
            <ScrollArea>
                <Content />
            </ScrollArea>
        );
    }
}

class Content extends React.Component {
    render(){
        return (
            <div onClick={this.handleSomeAction.bind(this)}> Some long content </div>
        );
    }

    handleSomeAction(){
        this.context.scrollArea.refresh();
    }
}

Content.contextTypes = {
    scrollArea: React.PropTypes.object
};

Имейте в виду, что это использует устаревший контекстный API реакции

...