Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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
React native flatlist 为什么项目周围有花括号?_React Native Flatlist - Fatal编程技术网

React native flatlist 为什么项目周围有花括号?

React native flatlist 为什么项目周围有花括号?,react-native-flatlist,React Native Flatlist,在renderItem道具中项目周围使用大括号的目的是什么?我试过这样把它传过来 renderItem={ item => <Text style={styles.item}>{item}</Text>} renderItem={item=>{item} 但它似乎不起作用。请引导我做这件事 //Code snippet from React Native docs as below. //url: https://facebook.github.io/react

renderItem
道具中
项目
周围使用大括号的目的是什么?我试过这样把它传过来

renderItem={ item => <Text style={styles.item}>{item}</Text>}
renderItem={item=>{item}
但它似乎不起作用。请引导我做这件事

//Code snippet from React Native docs as below.
//url: https://facebook.github.io/react-native/docs/using-a-listview

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

export default class FlatListBasics extends Component {
  render() {
    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>
    );
  }
}

const styles = StyleSheet.create({
  container: {
   flex: 1,
   paddingTop: 22
  },
  item: {
    padding: 10,
    fontSize: 18,
    height: 44,
  },
})

//React原生文档的代码片段如下所示。
//网址:https://facebook.github.io/react-native/docs/using-a-listview
从“React”导入React,{Component};
从“react native”导入{FlatList,StyleSheet,Text,View};
导出默认类FlatListBasics扩展组件{
render(){
返回(
{item.key}
/>
);
}
}
const styles=StyleSheet.create({
容器:{
弹性:1,
加油站:22
},
项目:{
填充:10,
尺码:18,
身高:44,
},
})

提取item的值,这就是JSX的工作方式。如果只有item,即
item
,那么它将把item作为输出呈现,但是如果您想显示item的值,假设
item=50
,那么显示
{item}
,那么将显示50;ES6特性。查一查。传递给您在
renderItem
中定义的函数的实际对象不是您的实际项目数组。它实际上是一个包含您的项的对象,例如
{a:…,b:…,item:/*您的项*/}
。对象销毁允许您将函数的参数指定为传入的实际对象中的一个对象

例如

这将打印“Alex”


令人困惑的是,破坏语法使用大括号,JSX解析器也使用大括号。。。但是花括号的意思不一样。

嘿,谢谢你的回答,但我不是这个意思。我指的是这一点:``renderItem={({item})=>{item.key}}``我很惊讶没有人回答这个问题。
function printName({name}) {
  console.log(name)
}
obj = {age: 32, name: 'Alex'}

printName(obj);