首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将状态钩初始化为[]仍将类型显示为未定义

将状态钩初始化为[]仍将类型显示为未定义
EN

Stack Overflow用户
提问于 2022-07-20 06:23:05
回答 3查看 48关注 0票数 1

代码:

代码语言:javascript
运行
复制
const [input, setInput] = useState('');
const [studentList, setStudentList] = useState([]);

useEffect(() => {
  console.log(studentList)
  console.log(studentList.type)
}, [studentList]);

return (
  <div id="add-students-input-div">
    <input
      type="text"
      id='add-students-input'
      value={input}
      placeholder='Enter a student to the database'
      onChange={(event) => {
        setInput(event.target.value)
      }}
    />
    <div id="add-students-button" onClick={() => {
      setStudentList([document.getElementById('add-students-input').value, ...studentList])
      setInput('')
     }}>
      <p>Add</p>
    </div>
  </div>
)

问题: studentList的print语句正在返回数组,但是studentList.type的print语句在任何时候都是未定义的,甚至在元素被添加到数组之后也是如此。

如何确保studentList.type返回Array

EN

Stack Overflow用户

发布于 2022-07-20 06:31:36

代码中的studentList将永远是数组,初始化状态时为空。如果要检查数组中是否存在某些内容,则必须使用studentList.length

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73046821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档