从useEffect中的数组中选择下拉选项时,无法读取未定义的属性“ map”

在useEffect函数中有一个名为users的数组,我正在尝试使用map函数在select选项中呈现它。

let dropdown= React.createRef();

useEffect(() => {
    setstate({
      users: ['test user','lokesh'],username: 'test user'
    })
});

我有一个要在下拉菜单中呈现的表单

<form onSubmit={onsubmit}>
    <div classname="form-group">
      <label for="username">username</label>
      <select ref={dropdown}
        required
        classname="form-control"
        value={state.username}
        onChange={onChangeusername}
      >
        {state.users.map(user => {
          return (
            <option
              key={user}
              value={user}>
              {user}
            </option>
          )
        })}
      </select>
</div>
<form>

页面加载但当我单击其他输入文本时引发错误

liyuwoaini 回答:从useEffect中的数组中选择下拉选项时,无法读取未定义的属性“ map”

我在这里做了stackblitz示例,希望这是您需要的解决方案。抱歉,我不知道如何在这里制作小提琴。您在这里使用useEffect的方式是错误的。在函数组件中,它不是createRef,不是useRef供参考。

Check the stackblitz

useEffect(() => {
setstate({
  users: ['test user','lokesh'],username: 'test user'
})
},[]);
本文链接:https://www.f2er.com/3133810.html

大家都在问