Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs React Native-如何构建像FaceBook这样的图像网格_Reactjs_React Native - Fatal编程技术网

Reactjs React Native-如何构建像FaceBook这样的图像网格

Reactjs React Native-如何构建像FaceBook这样的图像网格,reactjs,react-native,Reactjs,React Native,我期待着创建一个应用程序使用反应本机,需要一个图像列表,以安排和显示就像facebook的活动照片 简而言之,我想要创建的react本机版本 有人知道提供类似功能的RN组件吗?您可以自己创建图像网格,方法是为每个图像设置宽度和高度,并将其渲染成一行 renderRow(images) { return images.map((uri,i) =>{ return( <Image key={i} style={[styles.item, this.c

我期待着创建一个应用程序使用反应本机,需要一个图像列表,以安排和显示就像facebook的活动照片

简而言之,我想要创建的react本机版本


有人知道提供类似功能的RN组件吗?

您可以自己创建图像网格,方法是为每个图像设置宽度和高度,并将其渲染成一行

renderRow(images) {
    return images.map((uri,i) =>{
      return(
        <Image key={i} style={[styles.item, this.calculatedSize()]} source={{uri: uri}} />
      );
    })
  }
  renderImagesInGroupsOf(count) {
    return _.chunk(IMAGE_URLS, IMAGES_PER_ROW).map((imagesForRow,i) => {
      return (
        <View style={styles.row} key={i}>
          {this.renderRow(imagesForRow)}
        </View>
      )
    })
  }
例如,一行需要3个图像。可以使用尺寸标注获取窗口宽度,并将其除以3

const windowWidth = Dimensions.get('window').width;
var IMAGES_PER_ROW = 3;

calculatedSize(){
  var size = windowWidth / IMAGES_PER_ROW
  return {width: size, height: size}
}
之后,我们将渲染一行图像

renderRow(images) {
    return images.map((uri,i) =>{
      return(
        <Image key={i} style={[styles.item, this.calculatedSize()]} source={{uri: uri}} />
      );
    })
  }
  renderImagesInGroupsOf(count) {
    return _.chunk(IMAGE_URLS, IMAGES_PER_ROW).map((imagesForRow,i) => {
      return (
        <View style={styles.row} key={i}>
          {this.renderRow(imagesForRow)}
        </View>
      )
    })
  }
renderRow(图像){
返回images.map((uri,i)=>{
返回(
);
})
}
RenderImagesGroupSof(计数){
返回.chunk(图像URL,每行图像).map((图像箭头,i)=>{
返回(
{this.renderRow(imagesForRow)}
)
})
}
您可以在
样式中设置所需的图像网格边距。项
类似
边距:1


完整示例

谢谢。这似乎很管用!完整示例的链接现在似乎已断开。