Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >React本机:基于图像的新闻提要的表现性绘制

React本机:基于图像的新闻提要的表现性绘制
EN

Stack Overflow用户
提问于 2016-03-30 13:50:54
回答 1查看 814关注 0票数 1

在react本机中呈现基于图像的新闻提要的最佳实践是什么?

我有一个非常简单的新闻提要,每个故事都有一个封面图片,然后是一个明星级别(由1-5张图片组成)。在最初的渲染中,图像似乎是以随机顺序加载的,而且看起来很糟糕,而且是非本地的。

这是一个7s视频,显示屏幕的转换和渲染。

是否有任何方法来控制图像呈现的顺序,或者在加载整个块之前不呈现一个故事?

如果有帮助,代码如下。使用IncrementalListView来呈现行。版本构建,iOS 9.3,iPhone 6。每个封面图像为~55 3kb的JPG,星号为~3kb的PNG。这两个图像都被打包到包中。

更新3/31

我将代码更改为使用IncrementalListView,而不是直接将其呈现到ScrollView中,但这并没有帮助。问题似乎在于图像是如何解码和呈现的,而不是如何呈现行。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class DiscoverRow extends React.Component {
  render() {
    let images = {
      wide: {
        data: require('../img/img-wide.jpg'),
        height: 200,
        width: 376
      }
    };
    let title = this.props.event.name;
    let date = "Tomorrow";
    let place = this.props.event.venue.name;
    const newHeight = images.wide.height / images.wide.width * screenWidth;
    return (

        <View style={[rowStyles.cell]}>
          <View style={{ borderRadius: 15 }}>
            <Image resizeMode={'stretch'} source={images.wide.data} style={[rowStyles.thumbnail]} />
            <View style={[rowStyles.annotationsContainer]}>
              <View style={rowStyles.textContainer}>
                <AHStarRating starColor={gConstants.themeColor} disabled rating={4.5} style={{ width: 100 }} />
                <AHText style={rowStyles.title}>{title}</AHText>
                <AHText style={rowStyles.date}>{date}</AHText>
              </View>
              <View style={rowStyles.commentsContainer}>
                <Image source={require('../img/chat.png')}
                  style={{ width: 36, height: 36,
                    tintColor: gConstants.themeColor,
                    backgroundColor: 'transparent' }}
                />
                <TouchableWithoutFeedback onPress={this._poop}>
                  <Image
                    source={require('../img/heart.png')}
                    style={{ width: 36, height: 36,
                      tintColor: gConstants.themeColor,
                      backgroundColor: 'transparent' }}
                  />
                </TouchableWithoutFeedback>
              </View>
            </View>
          </View>
        </View>
    );
  }
}

class DiscoverPage extends React.Component {

  static relay = {
    queries: { viewer: () => Relay.QL`query { viewer }` },
    fragments: {
      viewer: () => Relay.QL`
        fragment on Viewer {
          events {
            id
            name
            venue {
              name
            }
          }
        }
      `,
    },
  };

  componentDidMount() {
    InteractionManager.runAfterInteractions(() => {
      this.setState({ renderPlaceholderOnly: false });
    });
  }

  componentWillReceiveProps(nextProps) {
    if (!nextProps.relayLoading) {
      const ds = new ListView.DataSource({ rowHasChanged: (r1, r2) => r1 !== r2 });
      this.setState({
        dataSource: ds.cloneWithRows(nextProps.viewer.events),
      });
    }
  }

  _renderRow(event: Object, sectionID: number, rowID: number) {
      return <DiscoverRow
        onPress={() => Actions.event({ event })}
        key={`comment-${rowID}`} event={event}
      />;
  }

  render() {
    if (this.props.relayLoading || this.state.renderPlaceholderOnly) {
      return <View><AHText>Relay loading</AHText></View>;
    } else {
      return (
        <View style={styles.container}>
          <AHNavBar title={'Discover'} leftTitle={""} rightImage={require('../img/filter.png')} />
          <IncrementalListView
            initialListSize={3}
            dataSource={this.state.dataSource}
            renderRow={this._renderRow}
            renderSeparator={(sectionID, rowID) => <View key={`${sectionID}-${rowID}`} 
            style={styles.separator} />}
          />
        </View>
      );
    }
  }
}
EN

回答 1

Stack Overflow用户

发布于 2016-03-31 10:22:20

您应该使用ListView而不是ScrollView来实现。ListView具有提高滚动性能的性能优化。

来自反应土著医生中的反应土著医生部分

有一些性能操作可以使ListView滚动平稳,同时动态加载可能非常大(或概念上无限)的数据集。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36320387

复制
相关文章
基于react的录音及音频曲线绘制的组件开发
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/j_bleach/article/details/82080971
j_bleach
2019/07/02
2.2K0
基于react的录音及音频曲线绘制的组件开发
【MATLAB】图像导出 ( 导出绘制的图像 | 图像设置 )
选择 matlab 生成的图形界面 " Figure 1 " 的菜单栏 , " 编辑选项 " , 点击 " 复制图形 " , 可以将图像拷贝到 Word 文档中 ;
韩曙亮
2023/03/29
9.9K0
【MATLAB】图像导出 ( 导出绘制的图像 | 图像设置 )
supermin构建基于本机的系统的docker镜像
指剑
2023/09/02
2670
python 基于opencv 绘制图像轮廓
这篇文章主要介绍了python 基于opencv 绘制图像轮廓的示例,帮助大家更好的利用python的opencv库处理图像,感兴趣的朋友可以了解下
python学习教程
2021/01/04
2K0
python 基于opencv 绘制图像轮廓
给在本机运行的 React 程序配置 HTTPS
如果用 create-react-app 构建一个程序,并且在本地运行,默认情况下会用 HTTP 协议为该程序提供服务。而在生产环境中运行的程序都用 HTTPS 进行服务。
疯狂的技术宅
2020/11/03
2.9K0
给在本机运行的 React 程序配置 HTTPS
基于OpenCV的显著图绘制
显着性是图像的突出部分,我们的大脑会特别关注这个部分。上图突出了我们在看到一个场景或图像时会注意到的部分。例如,大家有没有曾经在看广告的时候被一些特别的内容吸引,为此我们还特意停下来多看了一会儿?这就是广告的显着性,即使让我们可以一眼看到广告,也会被他吸引。
小白学视觉
2022/02/14
4640
基于OpenCV的显著图绘制
基于OpenCV的图像分割
输入图像 const int N = 3; //聚类个数 // const int N1 = (int)sqrt((double)N); //每一类用一种颜色 // const Scalar colors[] = // { // Scalar(0,0,255), Scalar(0,255,0), // Scalar(0,255,255),Scalar(255,255,0) // }; Vec3b colorTab[] =
用户9831583
2022/06/16
5230
基于OpenCV的图像分割
基于 OpenCV 的图像分割
https://github.com/kiteco/kite-python-blog-post-code/tree/master/image-segmentation
小白学视觉
2020/09/22
1.3K0
基于 OpenCV 的图像分割
基于OpenCV的图像融合
Python是一种通用的编程语言,在分析数据方面非常流行,它还可以让帮助我们快速工作并更有效地集成系统。
小白学视觉
2022/05/22
9780
基于OpenCV的图像融合
基于FPGA的图像显示
这几天一直在调试FPGA的图像显示系统,今天终于成功,图像不在闪烁,也不再边框缺失。
FPGA开源工作室
2019/10/29
1.8K0
基于FPGA的图像显示
基于FPGA图像的镜像
镜像的目的是将图像进行翻转,如图1所示,美国怀俄明大提顿国家公园被水面镜像。镜像可以用前向映射实现,同时由于输出坐标必然落在原先的图像区域内,所以不用进行区域判断,属于比较简单的几何变换。
FPGA开源工作室
2019/10/29
7480
基于FPGA图像的镜像
基于图像分类的动态图像增强
论文链接:http://openaccess.thecvf.com/content_cvpr_2018/papers/Sharma_Classification-Driven_Dynamic_Image_CVPR_2018_paper.pdf
Natalia_ljq
2020/06/03
1.5K0
基于图像分类的动态图像增强
基于OpenCV的图像融合
Python是一种通用的编程语言,在分析数据方面非常流行,它还可以让帮助我们快速工作并更有效地集成系统。
AI算法与图像处理
2020/12/17
1.1K0
基于Libsvm的图像分类
关于Libsvm的废话 基于Libsvm的图像分类实例 说说图像分类的处理结果 1. 关于Libsvm的废话 先来一段废话,大家有心情看看就行,那就是关于支持向量机的问题,支持向量机是在统计学习理论基础上发展起来的一种机器学习方法。基于数据的机器学习是现代智能技术中的一个重要方面,研究的实质是根据给定的训练样本求对某系统输入输出之间依赖关系的估计,使它能对未知输入作出尽可能准确的预测和估计。本文提出了一种利用支持向量机(SupportvectorMachine,简称 SVM)的图像分类方法,关于其他支
小莹莹
2018/04/24
1.3K0
基于Libsvm的图像分类
用matlab绘制函数图像例题_matlab绘制方程组图像
比如f(x,y)=-((x^2+y-1).^2+(x+y^2-7)^2)/200+10
全栈程序员站长
2022/10/04
8920
用matlab绘制函数图像例题_matlab绘制方程组图像
基于matplotlib轻松绘制漂亮的表格
大家好我是费老师,matplotlib作为数据可视化的强力工具,可以帮助我们自由创作各式各样的数据可视化作品,其中matplotlib.pyplot.table模块就专门用于绘制「表格」,但是由于参数复杂,且默认样式单一简陋,想基于它绘制出美观的表格需要花费不少功夫。
朱卫军 AI Python
2023/02/23
2.2K0
基于matplotlib轻松绘制漂亮的表格
图像检索:基于内容的图像检索技术(四)
基于树结构的最近邻搜索方法和基于哈希的最近邻搜索方法在理论计算机科学、机器学习以及计算机视觉中是一个很活跃的领域,这些方法通过将特征空间划分成很多小的单元,以此减少空间搜索的区域,从而达到次线性的计算复杂度。
用户3578099
2020/03/18
1.5K0
图像检索:基于内容的图像检索技术(三)
无论是对于相同物体图像检索还是相同类别图像检索,在大规模图像数据集上,它们具有三个典型的主要特征:图像数据量大、特征维度高以及要求相应时间短。下面对这三个主要特征逐一展开说明:
用户3578099
2020/03/04
2.4K0
图像检索:基于内容的图像检索技术(一)
在Web2.0时代,尤其是随着Flickr、Facebook等社交网站的流行,图像、视频、音频、文本等异构数据每天都在以惊人的速度增长。例如, Facebook注册用户超过10亿,每月上传超过10亿的图片;Flickr图片社交网站2015年用户上传图片数目达7.28亿,平均每天用户上传约200万的图片;中国最大的电子商务系统淘宝网的后端系统上保存着286亿多张图片。针对这些包含丰富视觉信息的海量图片,如何在这些浩瀚的图像库中方便、快速、准确地查询并检索到用户所需的或感兴趣的图像,成为多媒体信息检索领域研究的热点。基于内容的图像检索方法充分发挥了计算机长于处理重复任务的优势,将人们从需要耗费大量人力、物力和财力的人工标注中解放出来。经过十来来的发展,基于内容的图像检索技术已广泛应用于搜索引擎、电子商务、医学、纺织业、皮革业等生活的方方面面。
用户3578099
2020/03/04
3.5K0
点击加载更多

相似问题

新闻提要的React架构

11

React本机中基于Api的布局

10

基于状态的React本机更新tabBarLabel

11

将图像缩放到“instagram样”的新闻提要(React)中。

211

动态设置react本机的uri <图像/>

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文