cari

Rumah  >  Soal Jawab  >  teks badan

Ralat: "friends.find bukan fungsi" apabila menggunakan pelayan langsung tetapi bukan localhost

Penerangan: Setiap kali saya beralih daripada menggunakan localhost sebagai titik akhir API kepada URL langsung bahagian belakang sebenar, saya mendapat dua ralat dalam apl React saya. Berikut adalah ralat yang saya perolehi:

PATCH https://hobby-hunter-api.onrender.com/users/6488a0ab682e930dcd661111/64628638beaa4cc4aecd3a42 404 (Not Found) in Friend.jsx:25

`Uncaught TypeError: friends.find is not a function in Friend.jsx:22

Saya menggunakan MongoDB dan Node.js sebagai hujung belakang. Menghargai sebarang cerapan atau penyelesaian untuk menyelesaikan isu ini. Terima kasih!

Butiran tambahan: Jika sebarang maklumat tambahan atau coretan kod diperlukan untuk membantu mendiagnosis masalah, sila beritahu saya.

Kod komponen rakan:

import { PersonAddOutlined, PersonRemoveOutlined } from "@mui/icons-material";
import { Box, IconButton } from "@mui/material";
import { useDispatch, useSelector } from "react-redux";
import { useNavigate } from "react-router-dom";
import { setFriends } from "state";

import UserImage from "./UserImage";

const Friend = ({ friendId, name, userPicturePath }) => {
  const dispatch = useDispatch();
  const navigate = useNavigate();
  const { _id } = useSelector((state) => state.user);
  const token = useSelector((state) => state.token);
  const friends = useSelector((state) => state.user.friends);

  const isFriend = friends && friends.find((friend) => friend._id === friendId); // Check if the friend exists

  const patchFriend = async () => {
    const response = await fetch(
      `https://weblinkbackendapi.onrender.com/users/${_id}/${friendId}`,
      {
        method: "PATCH",
        headers: {
          Authorization: `Bearer ${token}`,
          "Content-Type": "application/json",
        },
      }
    );
    const data = await response.json();
    dispatch(setFriends({ friends: data }));
  };

  if (!Array.isArray(friends)) {
    return null; // Return null if friends is not an array
  }

  return (
    <Box className="text-black flex mb-2 bg-zinc-200 justify-between items-center rounded-lg z-10 ease-in duration-500">
      <Box className="flex justify-between items-center gap-1">
        <UserImage image={userPicturePath} />
        <Box
          onClick={() => {
            navigate(`/profile/${friendId}`);
            navigate(0);
          }}
        >
          <h2 className="text-black font-medium hover:text-white cursor-pointer p-2 mr-1">
            {name}
          </h2>
        </Box>
      </Box>
      <IconButton
        onClick={() => patchFriend()}
        sx={{ p: "0.05rem", fontSize: "0.25rem" }}
      >
        {isFriend ? (
          <PersonRemoveOutlined sx={{ color: "grey" }} />
        ) : (
          <PersonAddOutlined sx={{ color: "grey" }} />
        )}
      </IconButton>
    </Box>
  );
};

export default Friend;

P粉489081732P粉489081732447 hari yang lalu588

membalas semua(1)saya akan balas

  • P粉928591383

    P粉9285913832023-09-12 09:36:16

    Saya akhirnya menambah pemaparan bersyarat pada tampung ciri rakan pengguna semasa. Masalah berlaku apabila pengguna semasa meminta dirinya sendiri.

    balas
    0
  • Batalbalas