我的 React Native 组件未显示超过 1 个投诉

问题描述 投票:0回答:1

我正在一个屏幕上工作,该屏幕从导航到的上一个屏幕中获取路由参数,但是它只显示第一个投诉,而从不显示任何其他添加的投诉,我不知道导致问题的原因,这里是代码:

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]);
    }
  }, []);
reactjs react-native visual-studio-code android-emulator
1个回答
0
投票

您正在使用空依赖项数组在 useEffect 上调用此函数,该数组在安装组件时调用,最初的投诉也是空的。
因此

[...complaints, newComplaint]
将等于您的
newComplaint
的单个值。
您能否告知您希望更新哪个变量?
    

© www.soinside.com 2019 - 2024. All rights reserved.