Как удалить запись из Записи в машинописи на основе идентификатора - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть файл Main.tsx, в котором у меня есть Record, personList, с ключом PersonId и значением PersonInfo, я хочу удалить конкретную запись из personList на основе предоставленного Id. Ниже мой код:

interface PersonInfo{
FirstName:string;
SecondName:string;
Age:string;
}

const [personList,setPersonList] = useState<Record<string,PersonInfo>>({});

//For inserting entry
const Create = () => {

      setPersonList((oldList)=>{
        return {
          ...oldList,[PersonId]:PersonDescription  //PersonDescription is of type PersonInfo
        }
      });
};

const Delete = () => {

    const newPersonList :Record<string,PersonInfo>=
    personList.filter()//Here i want to delete the entry based on personId

    setPersonList(newPersonList);
 };

1 Ответ

1 голос
/ 26 апреля 2020

Поскольку вы уже назначаете ключи вашего объекта для personId, вы можете просто сделать:

const Delete = (id: string): void => {
    const filteredPersonList: Record<string,PersonInfo> = {}
    for(let key in personList){
        if(key !== id){
            filteredPersonList[key] = personList[key]
        }
    }
    setPersonList(filteredPersonList)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...