Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
600 views
in Technique[技术] by (71.8m points)

javascript - Passing in a destructured object?

const FlatListBasics = () => {
  return (
    <View style={styles.container}>
      <FlatList
        data={[
          {key: 'Devin'},
          {key: 'Dan'},
          {key: 'Dominic'},
          {key: 'Jackson'},
          {key: 'James'},
          {key: 'Joel'},
          {key: 'John'},
          {key: 'Jillian'},
          {key: 'Jimmy'},
          {key: 'Julie'},
        ]}
        renderItem={({item}) => <Text style={styles.item}>{item.key}</Text>}
      />
    </View>

So today while reading the React Native docs I came across this bit of code where we are essentially passing in a {item} as destructured.
I did read up on destructuring a bit and I know how it works but I don't understand how we are passing it in to the function as destructured and why we are doing that.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I don't understand how we are passing it in to the function as destructured

It's not being passed in destructured. It's being destructured on receipt, by the function. This code:

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

sets renderItem to a function. The function accepts a parameter, using destructuring to pick out its item property. It's just like this:

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...