javascript 无法动态填充React中的选择

mxg2im7a  于 2023-03-16  发布在  Java
关注(0)|答案(1)|浏览(118)

我有一个集合manufacturerSet,我想创建一个下拉列表,把可选的选项作为这个集合的值,下面是我对这个下拉列表的实现:

<select name="maker" value={maker} onChange={(e) => { setMaker(e.target.value) }}>
          {
            Array.from(manufacturerSet).map(make => {
            console.log(make)
            return <option key={make} value={make}>{make}</option>
          })
          }
</select>

正如你所看到的,我把集合转换成一个数组,以便能够Map它。不幸的是,它没有输入Map本身。输出是一个没有选项的空选择。

kokeuurv

kokeuurv1#

输出为没有选项的空选择
这两个函数的初始状态是什么?我可以看到maker是一个状态......它是通过useEffect()从props设置的吗?我不知道manufacturerSet是什么。提供一个更好的问题,你会得到一个更好的答案。
根据您提供的最少信息,我可以猜测您的页面正在呈现,并且状态尚未设置。但这只是猜测。根据我的经验,当状态为空时,它尚未初始化。
评审React状态:https://beta.reactjs.org/reference/react/useState
查看useEffect()挂钩以设置数据的状态:https://beta.reactjs.org/reference/react/useEffect
useEffect()强制组件在每次调用时重新呈现(可能是一次,也可能是每次指定状态更改时)。
此外,请确保您已将React工具添加到开发人员工具中:https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en
这些将帮助您跟踪每个组件内的状态。

相关问题