簡體   English   中英

反應本機映射失敗

[英]React Native Mapping Fail

在這里反應新手。 我有一些React代碼,我試圖在.state中提供的數組中循環並顯示圖像。 (使用“圖像”並使用https://github.com/lhandel/react-native-card-stack-swiper中的Card對象在Card對象中顯示圖像,該對象本身嵌套在對象中,但這都不是這里還是那里。)

export default class App extends Component<{}> {
  constructor(props) {
    super(props);
    this.state = {
      cards: [
        {itemname: 'Item 1',
          restoname: 'Resto 1',
          url: 'https://res.cloudinary.com/grubhub/image/upload/v1515191165/bkf4niv9okipbc8y6o8h.jpg',
          description: 'Desc 1'},
        {itemname: 'Item 2',
          restoname: 'Resto 2',
          url: 'https://res.cloudinary.com/grubhub/image/upload/v1514060352/twhriy3hvbzayktrjp91.jpg',
          description: 'Desc 2'}
      ]
    };
  }

render() {
    const contents = this.state.cards.map((item, index) => {
      return (
          <Card key={'Card_' + index}>
            <Image
                key={index}
                source={{uri: item.url}} />
          </Card>
      )
    });

return (
      <View style={{flex:1}}>

        <CardStack
          cards = {this.state.cards}
        >

         <View>
            {contents}
         </View>
        </CardStack>

我最欠缺的地方是最后一部分---如果我將內容定義為在其中返回<Card><Image>對象的映射,則當我在<CardStack>對象中調用{contents} 沒有任何顯示,也沒有錯誤消息。

此外,除了最初沒有顯示任何內容外,如果我滑動以轉到下一張卡片,還會收到以下錯誤消息:

undefined不是對象(評估'this.state.cards [sindex-2] .props`)

將密鑰分配給Card not Image,如下所示:

return (
   <Card key={index}>
       <Image
          source={{uri: item.url}} />
   </Card>
)

動態創建元素時,包裝元素需要密鑰,在這種情況下,該元素是Card。

另外,根據DOC ,您需要將Card元素直接放在CardStack中,因此刪除視圖並按如下方式編寫它:

<CardStack> {contents} </CardStack>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM