【发布时间】:2022-11-02 15:53:37
【问题描述】:
我有一个包含 10 个对象的数组,称为 emailThreads。
我正在尝试使用下一个和上一个按钮显示这些对象,但它没有按预期工作。
<Controls>
<Button onClick={previousEmail}>Previous Email</Button>
<SubjectDetails>
<Subject>SUBJECT</Subject>
<SubjectTitle>{emailThreads[emailIndex].subject}</SubjectTitle>
<SentAtDetails>Sent At {emailThreads[emailIndex].deliveredAt}</SentAtDetails>
</SubjectDetails>
<Button onClick={nextEmail}>Next Email</Button>
</Controls>
这是previousEmail 和nextEmail 的代码
const [emailIndex, setEmailIndex] = useState(0);
const previousEmail = () => {
setEmailIndex((prevIndex) => {
prevIndex !== 0 ? prevIndex - 1 : prevIndex;
});
};
const nextEmail = () => {
setEmailIndex((prevIndex) => {
prevIndex !== emailThreads.length ? prevIndex + 1 : prevIndex;
});
};
当我点击下一封电子邮件时,
TypeError: Cannot read properties of undefined (reading 'subject')
任何帮助都会很棒,谢谢
【问题讨论】:
-
为什么你想要
prevIndex从 prevIndex 被传递的地方?
标签: reactjs