如何在Render Method React-Native上调用数组对象中的rowData值

时间:2017-07-19 05:39:44

标签: javascript reactjs react-native

我曾打电话给https://www.npmjs.com/package/react-native-image-slider 基本的例子是

    <ImageSlider
          images={[
               'www.url.com/abc.png',
               'www.url.com/abc.png',
               'www.url.com/abc.png',
                  ]}
    />

但在我的代码中我想从rowData调用这样的url,但imageslider无法显示图像

<ListView
            enableEmptySections={true}
            dataSource={this.state.dataSource}
            renderRow={
              (rowData) =>
                    <ImageSlider
                             images={[

                                  {rowData.image_fields1},

                                  {rowData.image_fields2},

                                  {rowData.image_fields3},

                                    ]}

                                />

            }
          />

当我插入单引号&#39; {rowData.image_fields1}&#39; 时,它会返回缺少的语法

3 个答案:

答案 0 :(得分:0)

图像prop的预期类型是字符串数组,但是您在代码中设置了对象数组。

将您的代码更改为:

renderRow={
  (rowData) =>
    <ImageSlider
      images={[rowData.image_fields1, rowData.image_fields2, rowData.image_fields3]}
    />
}

答案 1 :(得分:0)

此处{}周围不需要rowData

这应该有效:

<ListView
            enableEmptySections={true}
            dataSource={this.state.dataSource}
            renderRow={
              (rowData) =>
                    <ImageSlider
                             images={[ 
                                  rowData.image_fields1,

                                  rowData.image_fields2,

                                  rowData.image_fields3,

                                    ]}

                                />

            }
          />

答案 2 :(得分:0)

CopyOnWriteArrayList

使用这种方式:var value = 'abc'; var arr = [value]; var arr1 = [{value}]; console.log(arr)//output will be string console.log(arr1)//output will be object

rowData.image_fields1