Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.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 React中的Map函数_Javascript_Reactjs - Fatal编程技术网

Javascript React中的Map函数

Javascript React中的Map函数,javascript,reactjs,Javascript,Reactjs,我有一些问题的数据,我想打印它们的列表,在每个问题之前应该有一个图标。根据问题类型,有三种类型的图标 我怎么能做到?这样我就得到了一个错误“期望一个赋值或函数调用,却看到了一个表达式”。我尝试了很多方法来修复它,但都没有效果:( render(){ const questions=questionsToChoose.map(q=>{ 常量图标=q=>{ if(q.isTrueFalse==true&&q.isMultiple==false){ 返回“a”; } else if(q.isTrueF

我有一些问题的数据,我想打印它们的列表,在每个问题之前应该有一个图标。根据问题类型,有三种类型的图标

我怎么能做到?这样我就得到了一个错误“期望一个赋值或函数调用,却看到了一个表达式”。我尝试了很多方法来修复它,但都没有效果:(

render(){
const questions=questionsToChoose.map(q=>{
常量图标=q=>{
if(q.isTrueFalse==true&&q.isMultiple==false){
返回“a”;
}
else if(q.isTrueFalse==true&&q.isMultiple==true){
返回“b”
}
else if(q.isTrueFalse==false&&q.isMultiple==false){
返回“c”
}     
};
{icon}{q.content}

}); 返回( {问题} ) }
图标被定义为一个函数,您需要调用它。同时,将其移到渲染外部将提高性能

icon=q=>{
if(q.isTrueFalse==true&&q.isMultiple==false){
返回“a”;
}
else if(q.isTrueFalse==true&&q.isMultiple==true){
返回“b”
}
else if(q.isTrueFalse==false&&q.isMultiple==false){
返回“c”
}     
};
render(){
const questions=questionsToChoose.map(q=>(
{this.icon(q)}{q.content}

)); 返回( {问题} ) }
图标被定义为一个函数,您需要调用它。同时,将其移到渲染外部将提高性能

icon=q=>{
if(q.isTrueFalse==true&&q.isMultiple==false){
返回“a”;
}
else if(q.isTrueFalse==true&&q.isMultiple==true){
返回“b”
}
else if(q.isTrueFalse==false&&q.isMultiple==false){
返回“c”
}     
};
render(){
const questions=questionsToChoose.map(q=>(
{this.icon(q)}{q.content}

)); 返回( {问题} ) }
您可以添加服务数据(questionsToChoose)吗?您可以添加服务数据(questionsToChoose)吗?它可以工作,谢谢!:)删除图标函数后,我只需要在映射函数中更改{}for()。很高兴能提供帮助。是的,我错过了帖子里括号里的东西。很高兴你自己发现了。:)这很有效,谢谢!:)在删除图标函数后,我只需要在map函数中更改{}for()。很高兴能提供帮助。是的,我错过了帖子里括号里的东西。很高兴你自己发现了。:)
render() {
 const questions = questionsToChoose.map(q => {
      const icon = q => {
        if (q.isTrueFalse === true && q.isMultiple === false) {
          return 'a';
        }
        else if (q.isTrueFalse === true && q.isMultiple === true) {
          return 'b'
        }
        else if (q.isTrueFalse === false && q.isMultiple === false) {
          return 'c'
        }     
      };
      <div key={q.id}>
        <p>{icon} {q.content}</p>
      </div>
    });

   return(
    <div>{questions}</div>
   ) 
}