2

可視性コンポーネントを使用してセマンティックUIリアクションアプリケーションで無限のスクロールを処理しようとしています。可視性コンポーネントの小道具が発射されない - 意味的UIの反応

この例は、Semantic UI Reactページ(https://react.semantic-ui.com/behaviors/visibility#callback-frequency-example)に従っています。次のように私は、コードを簡略化してきました:私のシンプルで

import React, { Component } from 'react'; 
import { Visibility } from 'semantic-ui-react'; 

export default class VisibilityExample extends Component { 
    render() { 
     return (
      <Visibility 
       continuous={false} 
       once={false} 
       onTopVisible={() => console.log('test')} 
       onTopPassed={() => console.log('test')} 
       onBottomVisible={() => console.log('test')} 
       onBottomPassed={() => console.log('test')} 
       onTopVisibleReverse={() => console.log('test')} 
       onTopPassedReverse={() => console.log('test')} 
       onBottomVisibleReverse={() => console.log('test')} 
       onBottomPassedReverse={() => console.log('test')} 
       onPassing={() => console.log('test')} 
       onPassingReverse={() => console.log('test')} 
       onOnScreen={() => console.log('test')} 
       onOffScreen={() => console.log('test')} 
      > 
       <div>Hello</div> 
      </Visibility> 
     ); 
    } 
} 

console.log文のどれもが発射されていないアプリを反応します。しかし、Semantic UI React Webページ上でコードを操作すると、console.logステートメントが期待通りに起動されます。

私には何が欠けていますか?あなたがコンポーネントのコンテナをスクロールしたときにのみ、火を可視化コンポーネントの

/* global document */ 

import React from 'react'; 
import ReactDOM from 'react-dom'; 

import VisibilityExample from './VisibilityExample'; 

ReactDOM.render(
    <VisibilityExample />, 
    document.getElementById('root') 
); 
+0

?そのJSファイルも表示してください。 –

+0

別のブラウザで試してみてください。Google Chromeのバグが報告されています。私はそれが今固定されているかどうかは分かりません。 –

+0

@JudeNiroshanは、私がVisibilityExampleコンポーネントをレンダリングする場所を含めるように答えを修正しました。これは本当にシンプルなファイルです。私もFirefoxで試しました、運は – frogbandit

答えて

1

イベント:

編集:私はindex.jsファイルで、VisibilityExampleコンポーネントをレンダリングしてるのはここです。これらのイベントはすべてデフォルトのwindow scrollイベントに基づいているためです。

ただし、指定されたコードのみを持っている場合は、スクロールバーとスクロールイベントはありません。スクロールバーとスクロールコンテンツを取得してconsole.logステートメントが実行されていることを確認するには、divを任意の高さで追加する必要があります。

は、この例を参照してください:https://codesandbox.io/s/D99mwMy9Bあなたは `VisibilityExample`コンポーネントを使用しました

+0

ありがとうございます!それは今働く。ウィンドウのスクロールの代わりにコンポーネントのコンテナ内のスクロールを検出することが可能かどうかを知っていますか?代わりにドロップダウンコンポーネントをスクロールするのが大好きです。 – frogbandit

+0

残念ながら、セマンティックUIリアクションでは「コンテキスト」は表示されません。https://react.semantic-ui.com/behaviors/visibilityこれは通常のセマンティックUI(https://semantic-ui.com/behaviors/visibility.html)にあります。スクロール検出をウィンドウではなくコンポーネントに変更する唯一の方法であるかどうかは分かりますか? – frogbandit

+0

Visibilityコンポーネントでは不可能なようです。常にウィンドウイベントとウィンドウプロパティに基づいています。ソースコードを見てください。 https://github.com/Semantic-Org/Semantic-UI-React/blob/master/src/behaviors/Visibility/Visibility.js#L169 –

関連する問題