Javascript React Native-如何映射到多个组件?

Javascript React Native-如何映射到多个组件?,javascript,react-native,Javascript,React Native,考虑以下示例: import * as React from 'react'; import { Text, View, StyleSheet } from 'react-native'; import Constants from 'expo-constants'; // You can import from local files import AssetExample from './components/AssetExample'; // or any pure javascrip

考虑以下示例:

import * as React from 'react';
import { Text, View, StyleSheet } from 'react-native';
import Constants from 'expo-constants';

// You can import from local files
import AssetExample from './components/AssetExample';

// or any pure javascript modules available in npm
import { Card } from 'react-native-paper';

export default function App() {
  return (
    <View style={styles.container}>
      {[0, 1, 2, 3, 4, 5].map(x => {
      console.log(x);
      <Card>
        <AssetExample />
      </Card>
      })}
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    paddingTop: Constants.statusBarHeight,
    backgroundColor: '#ecf0f1',
    padding: 8,
  }
});
import*as React from'React';
从“react native”导入{Text,View,StyleSheet};
从“expo常量”导入常量;
//可以从本地文件导入
从“./components/AssetExample”导入AssetExample;
//或npm中可用的任何纯javascript模块
从“react native paper”导入{Card};
导出默认函数App(){
返回(
{[0,1,2,3,4,5].map(x=>{
控制台日志(x);

为什么在删除
{}

map
通过迭代给定数组中的每个元素来返回一个新数组。要实现此操作,必须从回调函数返回一些内容

为此,您可以从
map
显式返回
return
,也可以使用隐含的返回语法:

//显式
{[0,1,2,3,4,5].map(x=>{
控制台日志(x);
返回(
)
})}
或者使用括号代替
{}
来使用简写语法

//隐含
{[0,1,2,3,4,5].map(x=>(
))}
请注意,在速记示例中,您不能再使用
console.log
,因为所有内容都以这种语法返回

如何从
映射
或组件返回多个JSX元素

一个函数只能返回一个JSX元素。这意味着如果需要返回多个元素,则必须将它们包装在另一个元素中(如
视图
),以便您仍然遵循规则

以下是您案例的一个示例:

{[0,1,2,3,4,5].map(x=>(
))}

为什么删除
{}
时会看到不同的行为

map
通过迭代给定数组中的每个元素来返回一个新数组。要实现此操作,必须从回调函数返回一些内容

为此,您可以从
map
显式返回
return
,也可以使用隐含的返回语法:

//显式
{[0,1,2,3,4,5].map(x=>{
控制台日志(x);
返回(
)
})}
或者使用括号代替
{}
来使用简写语法

//隐含
{[0,1,2,3,4,5].map(x=>(
))}
请注意,在速记示例中,您不能再使用
console.log
,因为所有内容都以这种语法返回

如何从
映射
或组件返回多个JSX元素

一个函数只能返回一个JSX元素。这意味着如果需要返回多个元素,则必须将它们包装在另一个元素中(如
视图
),以便您仍然遵循规则

以下是您案例的一个示例:

{[0,1,2,3,4,5].map(x=>(
))}

map
需要返回值。当您有多个操作(默认情况下被视为返回值)时,您需要使用
return
返回所需的值

export default function App() {
  return (
    <View style={styles.container}>
      {[0, 1, 2, 3, 4, 5].map(x => {
      console.log(x);
      return (<Card>
        <AssetExample />
      </Card>);
      })}
    </View>
  );
}
导出默认函数App(){
返回(
{[0,1,2,3,4,5].map(x=>{
控制台日志(x);
返回(
);
})}
);
}

map
需要返回值。当您有多个操作(默认情况下被视为返回值)时,您需要使用
return
返回所需的值

export default function App() {
  return (
    <View style={styles.container}>
      {[0, 1, 2, 3, 4, 5].map(x => {
      console.log(x);
      return (<Card>
        <AssetExample />
      </Card>);
      })}
    </View>
  );
}
导出默认函数App(){
返回(
{[0,1,2,3,4,5].map(x=>{
控制台日志(x);
返回(
);
})}
);
}

映射到多个组件和函数是什么意思
?删除
{}
意味着将返回沿胖箭头的内容。如果要保留它,只需使用
返回(…)
将视图包装为
返回(…)
。将
映射到多个组件和函数是什么意思
?删除
{}
意味着fat箭头后面的内容将被返回。如果您想保留它,只需使用
return(…)
包装视图即可。