将图标图像绑定到各自的名称上,然后进行渲染。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将图标图像绑定到各自的名称上,然后进行渲染。相关的知识,希望对你有一定的参考价值。

我有一个设施数组,我试图将每个设施与其各自的图标映射在一起,然后再渲染。

然而,什么都没有被呈现在div与类 hotel_card_flame_content_container_middle_container_amenities但它是空的,而不是做循环,也没有输出错误。

如果您有任何关于我应该如何处理这个问题的想法,我将不胜感激。

所有组件代码 https:/codepen.iobihirepenabvBeqK。

我的功能


import wifiIcon from '../../assets/icons/icons8-wi-fi-48.png'
import coffeeIcon from '../../assets/icons/icons8-cafe-50.png'
import AirCondIcon from '../../assets/icons/icons8-air-conditioner-64.png'
import defaultIcon from '../../assets/icons/button-circle-add-512.png'

const iconWithAmenities = [];

function AddIcon(aminityArray) {
    aminityArray.forEach(name=>{

        getIcon(name.toLowerCase());
        function getIcon(a) {
            var lookUpAmenities = {
                'free wifi': function () {
                    return iconWithAmenities.push({ name: name, icon: wifiIcon });
                },
                'free breakfast': function () {
                    return iconWithAmenities.push({ name: name, icon: coffeeIcon });
                },
                'air conditioning': function () {
                    return iconWithAmenities.push({ name: name, icon: AirCondIcon });
                },
                'default': function () {
                    return iconWithAmenities.push({ name: name, icon: defaultIcon });
                }
            };
            return (lookUpAmenities[a] || lookUpAmenities['default'])();
        }

    })
    return iconWithAmenities;
}

allAmenities数组是这样的 const allAmenities = ["Free wifi", "free breakfast", "free tv"]

反应渲染

<div className="hotel_card_flame_content_container_middle_container_amenities">
   {(AddIcon(allAmenities)).map((amenity, index)=> {
      <div key={index}>
        <div className="hotel_card_flame_content_container_middle_container_amenities_container">
          <div className="hotel_card_flame_content_container_middle_container_amenities_container_first">
            <div className="hotel_card_flame_content_container_middle_container_amenities_container_first_image">
             <img className="hoteCard_icon" src={amenity.icon} />
            </div>
            <div className="hotel_card_flame_content_container_middle_container_amenities_container_first_text">
                {amenity.name}
            </div>

          </div>
         </div>
       </div>
     })}
 </div>


  [1]: https://codepen.io/bihire/pen/abvBeqK
答案

基本上,它是在回调函数上的括号地图

不得不改

 {(AddIcon(allAmenities)).map((amenity, index)=> {})}

对此

 {(AddIcon(allAmenities)).map((amenity, index)=> ())}

以上是关于将图标图像绑定到各自的名称上,然后进行渲染。的主要内容,如果未能解决你的问题,请参考以下文章

创建没有帧缓冲区绑定的 Opengl 渲染缓冲区

如何在Platform标记的工具栏项上绑定图像图标

如何将变量绑定到图像源字符串?

如何利用ps工具,裁量咱的素材小图标和如何获取到大小合适的素材图标呢(各自图标素材集中于一张png图片上)

如何在后面的代码中绑定嵌入的图像

iOS 模拟器使用模板渲染模式在透明图像上显示白色背景