2017-04-25 34 views
0

私は画面の向きを検出するためにonLayoutを使用していますが、ルートビュー内でうまく機能していますが、ドロワー内で実装したときに動作しませんでした。ネイティブ検出画面の回転に反応する

コード:

import Drawer from 'react-native-drawer' 
    ... 
onLayout(e) { 
    console.log('onLayout'); 
} 
<Drawer onLayout={this.onLayout} 

向きが変わったときには、任意のものを記録しませんでした!

答えて

0

これは、引き出しコンポーネントがonLayoutを小道具としていないためです。 source codeでは、レンダリングされたViewonLayoutを使用していますが、それはthis.props.onLayoutのようなものではありません。

私はあなたが何をしようとしているのか正確には分かりませんが、おそらくthis issueがお手伝いします。それが示すように、あなたの代わりにあなたがあなたのオフセットを設定する方法と、もう少し動的なものにするために、整数または比のopenDrawerOffsetに関数を渡すことができます。

openDrawerOffset={(viewport) => { 
    if (viewport.width < 400) { 
     return viewport.width * 0.1; 
    } 
    return viewport.width - 400; 
}} 

あなたはまた、react- Event handlersの恩恵を受ける可能性がありますネイティブ引き出しが提供する必要があります。

関連する問題