【问题标题】:Image is not displaying in React Native Image Tag图像未显示在 React Native Image Tag 中
【发布时间】:2021-06-02 14:11:15
【问题描述】:

图像不显示在带有 url 的本机图像标签中: http://p16-sign-sg.tiktokcdn.com/v0201/242656049b324dff81b45d22479a1a61~tplv-noop.image?x-expires=1622659795&x-signature=CA4o%2BuzVVSTyUdH7T08a2%2FPgFpY%3D

const url='http://p16-sign-sg.tiktokcdn.com/v0201/242656049b324dff81b45d22479a1a61~tplv-noop.image?x-expires=1622659795&x-signature=CA4o%2BuzVVSTyUdH7T08a2%2FPgFpY%3D';
<Image
  style={styles.image}
  source={{ uri: url }}
  imageStyle={styles.imageRadius}
  defaultSource={require('assets/loadingImage.png')}
 />

【问题讨论】:

  • URL 将我带到显示“拒绝访问”的页面

标签: javascript image react-native


【解决方案1】:

这发生在我较旧的 react native 版本中,更新后修复。 更新 react 原生版本。

【讨论】:

    【解决方案2】:

    这可能是因为您使用的是 react native 和 iOS 模拟器版本 14。

    如果您使用的是 iOS 模拟器版本 14,请按照以下步骤解决您的问题

    转到文件 ~> /node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m

    转到第 270-290 行 你可以看到这样的代码:

    - (void)displayLayer:(CALayer *)layer
    {
      if (_currentFrame) {
        layer.contentsScale = self.animatedImageScale;
        layer.contents = (__bridge id)_currentFrame.CGImage;
      }
    }
    

    在 if 块中添加 else 语句,并使其如下所示:

    - (void)displayLayer:(CALayer *)layer
    {
      if (_currentFrame) {
        layer.contentsScale = self.animatedImageScale;
        layer.contents = (__bridge id)_currentFrame.CGImage;
      }else {
        [super displayLayer:layer];
      }
    }
    

    然后关闭一切并运行命令。 npm start -- --reset cache 用于清除缓存,然后使用命令npx react-native run-ios 启动应用程序,这应该可以解决您的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-07
      • 1970-01-01
      • 2019-05-29
      • 1970-01-01
      相关资源
      最近更新 更多