我正在一个屏幕上工作,该屏幕从导航到的上一个屏幕中获取路由参数,但是它只显示第一个投诉,而从不显示任何其他添加的投诉,我不知道导致问题的原因,这里是代码:
const ECScreen = ({ route, navigation }) => {
const { imageUri, complaintDate, complaintId } = route.params;
const [complaints, setComplaints] = useState([]);
useEffect(() => {
if (imageUri && complaintDate) {
const newComplaint = {
id: complaints.length + 1, // Assign the next available ID
imageUri: imageUri,
date: complaintDate,
status: 'Pending',
};
setComplaints([...complaints, newComplaint]);
}
}, []);
您正在使用空依赖项数组在 useEffect 上调用此函数,该数组在安装组件时调用,最初的投诉也是空的。
因此
[...complaints, newComplaint]
将等于您的 newComplaint
的单个值。