我想知道设备是纵向还是横向。这样做,我使用每个onLayout()
提供的<View/>
方法。触发onLayout()
后,我会使用Dimensions()
获取width
和height
,告诉我设备是如何保留的。
我没有在我的应用程序的最顶层<View/>
上实现它,但在某个屏幕上。我正在实现它的屏幕完全填充了<View/>
我正在使用函数onLayout()
和Dimensions()
。
import React, { Component } from "react";
import {
View,
Dimensions,
} from "react-native";
import ChildComponent from "./ChildComponent.js"
export default class ParentComponent extends Component {
constructor(props) {
super(props);
this.state({
portrait: null,
data: [...]
})
}
_orientation = (event) => {
const size = Dimensions.get("window");
size.height > size.width ? this.setState({ landscape: false }) : this.setState({ landscape: true })
}
_createChildComponent = () => {
const portrait = this.state.portrait;
const childComponentList = this.state.data.map((obj, index) => {
return <ChildComponent
key={index}
data={obj}
portrait={portrait}/>
});
return childComponentList;
}
render() {
const createdChildComponent = this._createChildComponent();
return (
<View
onLayout={(event) => {this._orientation(event)}}>
{createdChildComponent}
</View>
)
}
}
在ChildComponent
我通过
props
...this.props.portrait...
实施它,让我的应用程序变得非常糟糕。它甚至有时会崩溃。我不知道为什么。有什么想法吗?