尽管我可以通过屏幕方向更改来更新状态并重新渲染,但是ImageBackground组件仍然不会更新其宽度。
我有以下代码:
当用户改变设备的方向时,mylayoutchange()函数会被调用。它正确地更新了状态,render函数也会更新。可以在console.log()中看到宽度和高度已正确更改。然而,出于某种原因,
当屏幕旋转时,背景图片不再填充整个屏幕大小,我只能看到绿色的背景颜色。
我做错了什么?
我的环境:
我有以下代码:
<View
onLayout={event => this.mylayoutchange(event)}
style={{ flex: 1, backgroundColor: 'green' }}
>
<ImageBackground
style={{ flex: 1, width: this.state.width, height: this.state.height }}
imageStyle={{ resizeMode: 'repeat' }}
source={require('../assets/images/my_background.jpg')}
>
<View>
<Text>.... Other code here....</Text>
</View>
</ImageBackground>
</View>;
当用户改变设备的方向时,mylayoutchange()函数会被调用。它正确地更新了状态,render函数也会更新。可以在console.log()中看到宽度和高度已正确更改。然而,出于某种原因,
<ImageBackground>
没有更新其正确的宽度和高度。当屏幕旋转时,背景图片不再填充整个屏幕大小,我只能看到绿色的背景颜色。
我做错了什么?
我的环境:
"react": "16.13.1",
"react-native": "0.63.2",