【问题标题】:populate select element from state in react在反应中从状态填充选择元素
【发布时间】:2022-01-24 05:15:25
【问题描述】:

这里的新反应开发人员,试图通过编码学习,在这里我坚持使用简单的选择元素,我有选择元素并在其中使用地图填充选项,我也在安慰在地图中记录我的数据并获得 '50正在获取数据 FUNDING_ACCOUNT'。

我想要实现的是:用户单击并获取“data.name”作为下拉列表的选择元素,我的错误在哪里?

英语不是我的母语,所以可能会出现错误。

我正在使用 fetch 填充“setUpdateSelect”

我的代码:

  const [updateSelect, setUpdateSelect] = useState([]);


<select>
          {updateSelect.map((data) => {
            console.log("getting data", data.name);
            <option key={data.name} value={data.name}>
              {data.name}
            </option>;
          })}
        </select>

【问题讨论】:

  • 有什么问题??你能解释得更详细些吗
  • 当我点击选择元素的那一刻,我什么也没得到......

标签: javascript css reactjs select drop-down-menu


【解决方案1】:

使用地图功能,它应该返回一些东西。在您的地图函数中,它不会返回任何内容。

修改代码

{updateSelect.map((data) => {
   console.log("getting data", data.name);
    return (
      <option key={data.name} value={data.name}>
        {data.name}
      </option>
    );
})}

现在应该可以正常工作了。

谢谢,

阿吉斯·查克拉博蒂。

【讨论】:

  • 哦,这是个简单的错误,现在可以正常工作了
  • 很高兴知道它开始工作了。您能否接受这个答案,以便其他人也可以从中受益?
【解决方案2】:

对于重新渲染,可以这样使用;

const [updateSelect, setUpdateSelect] = useState([]);
const [loading, setLoading] = useState(false);


useEffect(() => {
 setLoading(true);
 setUpdateSelect(yourdata);
 setLoading(false);

},[yourdata])


return !loading ? (
<select>
 updateSelect.map((data, index) => (
  <option key={index} value={data.name}> 
   {data.name}
  </option>
 )
</select>
) : null; 

【讨论】:

    【解决方案3】:
    const [updateSelect, setUpdateSelect] = useState([]);
    
    <select>
        {updateSelect.map((data) => {
            return( console.log("getting data", data.name);
                    <option key={data.name} value={data.name}>
                      {data.name}
                    </option>;)
                   
         })}
    </select>
    

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-13
    • 2011-10-01
    • 2012-10-30
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    相关资源
    最近更新 更多