代码:
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。
发布于 2022-07-20 06:31:36
代码中的studentList将永远是数组,初始化状态时为空。如果要检查数组中是否存在某些内容,则必须使用studentList.length
https://stackoverflow.com/questions/73046821
复制相似问题