Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.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
Javascript 为什么我必须在ES6中的map闭包中使用return?_Javascript_Reactjs - Fatal编程技术网

Javascript 为什么我必须在ES6中的map闭包中使用return?

Javascript 为什么我必须在ES6中的map闭包中使用return?,javascript,reactjs,Javascript,Reactjs,我是React Js的新手,对React组件中的map方法感到困惑。我正在使用react制作电影列表应用程序,并声明了名为movies的对象数组。我想使用map方法将道具传递给子组件 但是,当我在map方法中编译时没有return(),我得到了如下错误。 import React,{Component}来自'React'; 导入“/App.css”; 从“./Movie.js”导入电影; 康斯特电影=[ { 标题:“老男孩”, 海报:“https://upload.wikimedia.org

我是React Js的新手,对React组件中的map方法感到困惑。我正在使用react制作电影列表应用程序,并声明了名为movies的对象数组。我想使用map方法将道具传递给子组件

但是,当我在map方法中编译时没有return(),我得到了如下错误。

import React,{Component}来自'React';
导入“/App.css”;
从“./Movie.js”导入电影;
康斯特电影=[
{
标题:“老男孩”,
海报:“https://upload.wikimedia.org/wikipedia/en/thumb/b/bb/Oldboy_2013_film_poster.jpg/220px-Oldboy_2013_film_poster.jpg"
},
{
标题:“矩阵”,
海报:“http://www.whatisthematrix.com/img/matrix.jpg"
},
{
标题:“全金属护套”,
海报:“https://images-na.ssl-images-amazon.com/images/I/41MN0ANVJTL._SY445_.jpg"
},
{
标题:“饥饿游戏”,
海报:“https://m.media-amazon.com/images/M/MV5BMjA4NDg3NzYxMF5BMl5BanBnXkFtZTcwNTgyNzkyNw@@._V1_u.jpg“
}
];
类应用程序扩展了React.Component{
render(){
返回(
{movies.map(movie=>{
})};
);
}
}

导出默认应用程序隐式返回仅在没有块的情况下有效
{}

在箭头之后使用
{}
时,需要使用return

{movies.map(movie=>{
})};

或者您可以使用
()

{movies.map(movie=>(
))};

隐式返回仅在没有块时有效
{}

在箭头之后使用
{}
时,需要使用return

{movies.map(movie=>{
})};

或者您可以使用
()

{movies.map(movie=>(
))};

需要将
返回
与ES6箭头功能一起使用,否则它们不可能不返回任何内容

return
关键字可以使用不带大括号的隐式return省略:

movies.map(movie => <Movie title= {movie.title} poster={movie.poster}/>)
movies.map(movie=>)
括号可用于可读性:

movies.map(movie => (
    <Movie title= {movie.title} poster={movie.poster}/>
))
movies.map(movie=>(
))

需要将
返回
与ES6箭头功能一起使用,否则它们不可能不返回任何内容

return
关键字可以使用不带大括号的隐式return省略:

movies.map(movie => <Movie title= {movie.title} poster={movie.poster}/>)
movies.map(movie=>)
括号可用于可读性:

movies.map(movie => (
    <Movie title= {movie.title} poster={movie.poster}/>
))
movies.map(movie=>(
))

在ES6中,如果函数必须只返回值,则可以这样编写:

{
  movies.map((item) => <Movies title={item.title} poster={item.poster}/>); 
}
{
  movies.map((item) => {
    return(
      <Movies title={item.title} poster={item.poster}/>
    );
  }); 
}
{
movies.map((项)=>);
}
如果一个函数有更多任务要做,您可以这样使用:

{
  movies.map((item) => <Movies title={item.title} poster={item.poster}/>); 
}
{
  movies.map((item) => {
    return(
      <Movies title={item.title} poster={item.poster}/>
    );
  }); 
}
{
movies.map((项目)=>{
返回(
);
}); 
}

在ES6中,如果函数必须只返回值,则可以这样编写:

{
  movies.map((item) => <Movies title={item.title} poster={item.poster}/>); 
}
{
  movies.map((item) => {
    return(
      <Movies title={item.title} poster={item.poster}/>
    );
  }); 
}
{
movies.map((项)=>);
}
如果一个函数有更多任务要做,您可以这样使用:

{
  movies.map((item) => <Movies title={item.title} poster={item.poster}/>); 
}
{
  movies.map((item) => {
    return(
      <Movies title={item.title} poster={item.poster}/>
    );
  }); 
}
{
movies.map((项目)=>{
返回(
);
}); 
}
“在ES6中不需要使用return”。。。不是真的。根据使用的语法,可以隐式返回或显式返回。多读一些关于箭头函数如何工作的书“在ES6中不需要使用return”。。。不是真的。根据使用的语法,可以隐式返回或显式返回。多读一些箭头函数的工作原理