2016-11-09 13 views
0

私は別の種類のポジションコールバックでプレイしようとしましたが、私のニーズに合ったものはありませんでした。 setIntervalは 反応するネイティブ:コンポーネントの位置を聞くにはどうすればいいですか?

  • onPanResponderMoveブロックの子ジェスチャー私はナビゲータ遷移中にシーンのコンポーネントの位置を取得したい

  • 重すぎると

    • onLayoutは)(
    • 対策を更新しません。

      より正確には、サンプルはhttps://rnplay.org/apps/53SXZgです。ドラッグされたシーンの位置を取得するには?

    +0

    'Animated'を使用している場合、変更された値にイベントリスナーを追加できませんか? https://facebook.github.io/react-native/docs/animated.html#addlistener – jered

    +0

    ありがとうございます。古典的なNavigator.SceneConfigsとカスタムジェスチャーを使用して、シーンをドラッグ/スワイプします。私はドラッグでシーンの位置を取得する必要があります。私が見つけた唯一の方法は、それをmeasure()し、親コンポーネントでコールバックすることです。 setIntervalを使用すると、その消費量が多すぎます。私はどのように私はリスナーを追加することができませんでした(アニメーションとどこですか?)。このポスト(http://stackoverflow.com/questions/37350129/react-native-navigationexperimental-animations)NavigatorExperimentalの進歩小道具について話していますが、私はそれを理解するのが遅く、コールバックの位置を確信していません... – sebap

    答えて

    0

    NavigationTransitionnerNavigatorExperimentalとしています。ありがとうございました。 transitionProps.positionを聞くAnimatedValue:

    _render(transitionProps: NavigationTransitionProps,): React.Element<any> { 
        const scenes = transitionProps.scenes.map((scene) => { 
        const sceneProps = { 
         ...transitionProps, 
         scene, 
        }; 
        return this._renderScene(sceneProps); 
        }); 
    
        // Add position listener 
        if(!this.positionListener){ 
        this.positionListener = transitionProps.position.addListener(({value}) => { 
        console.log('value', value); 
        }); 
        } 
    
        return (
        <View style={styles.navigator}> 
         {scenes} 
        </View> 
    ); 
    } 
    
    関連する問題