トリッキーなことをしていなければ、よしなにしてくれますが、positionの指定などを細かくやっている際に画面を回転させた際に再描画させる方法 は以下のようにします。
constructor(props) { super(props); this.state = { width: Dimensions.get('window').width, height: Dimensions.get('window').height, half: Dimensions.get('window').width / 2, } this.onLayout = this.onLayout.bind(this); }
onLayout(event) { this.setState({ width: Dimensions.get('window').width, height: Dimensions.get('window').height, half: Dimensions.get('window').width /2 , }); }
render() { return( <View onLayout={this.onLayout} style={{width: this.state.width}} > </View> ); } }
画面を回転させることで onLayout メソッドが発動し、width,heightのstateが変わるので、再描画されます。
https://stackoverflow.com/questions/29914572/react-native-flex-not-responding-to-orientation-change
https://github.com/yamill/react-native-orientation/issues/3