Javascript 在react中retun array.map函数中的值

Javascript 在react中retun array.map函数中的值,javascript,reactjs,Javascript,Reactjs,使用React JSX,我有一个数组levels,它可以包含一个或多个带有名称的级别数组,例如:one、two和three。在我的渲染函数中,我可以调用{renderLevels},它渲染所有用逗号分隔的级别 这是有效的: const renderLevels = levels.map((item, index) => { return ( <Fragment key={index}> {(index ? ' & '

使用React JSX,我有一个数组
levels
,它可以包含一个或多个带有名称的级别数组,例如:
one
two
three
。在我的渲染函数中,我可以调用
{renderLevels}
,它渲染所有用逗号分隔的级别

这是有效的:

const renderLevels = levels.map((item, index) => {
      return (
         <Fragment key={index}>
            {(index ? ' & ' : '')} {item.name}
         </Fragment>
      )
   }
);
const renderLevels = () => {

   if (levels.length === 3) {
      return (
         'all levels'
      )
   }

   levels.map((item, index) => {
         return (
            <Fragment key={index}>
               {(index ? ' & ' : '')} {item.name}
            </Fragment>
         )
      }
   )
};
const renderLevels=levels.map((项目,索引)=>{
返回(
{(索引?&':'')}{item.name}
)
}
);
如果所有级别都存在,我希望呈现“所有级别”,而不是逗号分隔的列表。在所有其他情况下,我都想要清单。所以我改变了我的代码

这不起作用:

const renderLevels = levels.map((item, index) => {
      return (
         <Fragment key={index}>
            {(index ? ' & ' : '')} {item.name}
         </Fragment>
      )
   }
);
const renderLevels = () => {

   if (levels.length === 3) {
      return (
         'all levels'
      )
   }

   levels.map((item, index) => {
         return (
            <Fragment key={index}>
               {(index ? ' & ' : '')} {item.name}
            </Fragment>
         )
      }
   )
};
const renderLevels=()=>{
如果(levels.length==3){
返回(
“所有级别”
)
}
levels.map((项目、索引)=>{
返回(
{(索引?&':'')}{item.name}
)
}
)
};

My
const
现在是一个函数,然后我用
{renderLevel()}
调用它问题:当项目名称少于3个级别时,不再返回项目名称列表。我的if语句工作正常,
console.log(item.name)
inside
.map
会在少于3个级别的情况下显示结果。但是,获取返回值并不重要。我做错了什么

您缺少
levels.map()
返回值。目前,您只是在
if
块内返回函数,但在未执行
if
时,您没有返回任何内容

const renderLevels = () => {

   if (levels.length === 3) {
      return (
         'all levels'
      )
   }

   return levels.map((item, index) => {
         return (
            <Fragment key={index}>
               {(index ? ' & ' : '')} {item.name}
            </Fragment>
         )
      }
   )
};
const renderLevels=()=>{
如果(levels.length==3){
返回(
“所有级别”
)
}
返回级别。映射((项目,索引)=>{
返回(
{(索引?&':'')}{item.name}
)
}
)
};

对于
级别.map()
,您缺少
返回
。目前,您只是在
if
块内返回函数,但在未执行
if
时,您没有返回任何内容

const renderLevels = () => {

   if (levels.length === 3) {
      return (
         'all levels'
      )
   }

   return levels.map((item, index) => {
         return (
            <Fragment key={index}>
               {(index ? ' & ' : '')} {item.name}
            </Fragment>
         )
      }
   )
};
const renderLevels=()=>{
如果(levels.length==3){
返回(
“所有级别”
)
}
返回级别。映射((项目,索引)=>{
返回(
{(索引?&':'')}{item.name}
)
}
)
};

add return in
levels.map((项目,索引)=>{
like
return levels.map((项目,索引)=>{
add return in
levels.map((项目,索引)=>{
like
return levels.map((项目,索引)=>{