如何更改地图功能内的元素

Posted

技术标签:

【中文标题】如何更改地图功能内的元素【英文标题】:How can I change element inside of map function 【发布时间】:2022-01-20 09:17:23 【问题描述】:

如果按下按钮,我需要更改 selectedCountries 值。但是当我这样做时,地图功能会卡住并返回错误。


    <ul>
    
       selectedCountries.map((countryName, i) => (
          <li key=i>countryName<button onClick=() => 
             setSelectedCountries(countryName)
          >show</button></li>
       ))
    
    </ul>

【问题讨论】:

selectedCountries 是一个数组(这是允许您映射它的原因)。当您将其设置为 countryName(可能是字符串)时,它不再是数组,因此地图崩溃。 【参考方案1】:

您应该定义除 selectedCountries 之外的另一个州,它包含国家/地区数组。 定义一个州 selectedCountry 并使用它来存储所选的国家/地区名称:

const [selectedCountry, setSelectedCountry] = useState('');

...

<ul>
  selectedCountries.map((countryName, i) => (
    <li key=i>
      countryName
      <button
        onClick=() => 
          setSelectedCountry(countryName);
        
      >
        show
      </button>
    </li>
  ))
</ul>;

【讨论】:

以上是关于如何更改地图功能内的元素的主要内容,如果未能解决你的问题,请参考以下文章

单击 Mapbox 中的地图标记后更改其他 HTML 元素?

在 div 上使用悬停来更改该 div 内的所有元素

如何从scala中的地图更改键

将鼠标悬停在按钮上时如何更改 div 的文本?

如何智能更改项目范围内的函数签名?

仅更改悬停元素内的类