【问题标题】:White flickering when changing pages using an Image Background in React-native在 React-native 中使用图像背景更改页面时出现白色闪烁
【发布时间】:2020-02-16 11:04:35
【问题描述】:

问题

我有一个堆栈导航器。当我从页面 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)。 如何在应用程序启动时加载此图像,然后“缓存”它以便“立即”供所有组件使用?

【问题讨论】:

    标签: react-native


    【解决方案1】:

    看看this,它应该可以帮助您解决图像缓存问题。

    希望对您有所帮助!

    【讨论】:

    • 或者这只是开发服务器的问题,因为图像是通过 http 提供的?我发现了这个:stackoverflow.com/questions/34272286/…
    • 我刚刚做了一个构建并部署到我的 iPhone 上,那里一切都很顺利:D
    • 很高兴它为您工作顺利:),也请标记答案,以免其他人遇到同样的问题:D
    • @GeraltDieSocke 这个答案对你有用吗?如果是这种情况,请将其作为可接受的答案哈哈,我正在尝试寻找一种方法来解决与您相同的问题。但我不知道你是怎么做到的
    • (因为在我的情况下它通过 api 接收图像,所以我认为即使发布版本我也会遇到同样的问题)
    猜你喜欢
    • 2017-08-24
    • 1970-01-01
    • 2020-08-17
    • 1970-01-01
    • 2011-11-16
    • 1970-01-01
    • 1970-01-01
    • 2014-03-19
    • 2020-05-11
    相关资源
    最近更新 更多