在React-native中使用图片背景更改页面时出现白色闪烁

时间:2019-10-19 21:02:08

标签: react-native

问题

我有一个Stack Navigator。当我从页面A切换到页面B(使用相同的ImageBackground组件)时,下一个屏幕会立即显示,但没有背景图片。仅在大约1-2秒后才会出现。我使用背景图片(您无法使用react-native完成的复杂渐变,因此我将其作为图像导出到应用程序的每个页面上,因此我创建了一个名为Container的组件,该组件只导出了一个ImageBackground传入的背景图片。看起来像这样:

const BackgroundImageContainer = styled.ImageBackground`
  justify-content: space-between;
  flex: 1;
`;

const Container = ({children}) => (
  <BackgroundImageContainer
    source={require('../assets/Background.png')}
    style={{flex: 1, width: null, height: null}}>
    {children}
  </BackgroundImageContainer>
);

我还有一个标签栏,当我切换到其他标签时,屏幕“闪烁白色”,因为我看到白色背景一秒钟,然后显示了实际的背景图像。

我认为这与图像的加载时间有关(尽管只有160KB)。 在应用启动时如何加载该图像,然后“缓存”它以便所有组件“即时”使用?

1 个答案:

答案 0 :(得分:0)

看看this,它应该可以帮助您整理图像缓存。

希望这会有所帮助!