понимание деструктуризации в свойстве renderItem в в React Native - PullRequest
0 голосов
/ 07 августа 2020

Я наткнулся на следующий код React Native в Интернете:

import React, { useState } from 'react';
import { StyleSheet, Text, View, FlatList } from 'react-native';

export default function App() {
  const [people, setPeople] = useState([
    { name: 'shaun', id: '1' },
    { name: 'yoshi', id: '2' },
    { name: 'mario', id: '3' },
    { name: 'luigi', id: '4' },
    { name: 'peach', id: '5' },
    { name: 'toad', id: '6' },
    { name: 'bowser', id: '7' },
  ]);

  return (
    <View style={styles.container}>

      <FlatList 
        numColumns={2}
        keyExtractor={(item) => item.id} 
        data={people} 
        renderItem={({item}) => ( 
          <Text style={styles.item}>{item.name}</Text>
        )}
      />

    </View>
  );
}

Я не совсем следую фрагменту, относящемуся к свойству renderItem. почему мы используем синтаксис деструктуризации {item}. Также это синтаксис деструктурирования объекта (с использованием фигурных скобок), но при деструктуризации объекта мы используем ключи в качестве имен переменных. Так что, боюсь, я совершенно не понимаю приведенный ниже фрагмент.

<FlatList 
        numColumns={2}
        keyExtractor={(item) => item.id} 
        data={people} 
        renderItem={({item}) => ( 
          <Text style={styles.item}>{item.name}</Text>
        )}

Любые указания будут признательны.

1 Ответ

1 голос
/ 07 августа 2020

это ...

renderItem={({item}) => ( 
  <Text style={styles.item}>{item.name}</Text>
)}

на самом деле означает ....

renderItem={(props) => ( 
  <Text style={styles.item}>{props.item.name}</Text>
)}

Этот метод называется проверкой уничтожения объекта для получения дополнительной информации - https://medium.com/podiihq/destructuring-objects-in-javascript-4de5a3b0e4cb

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...