Podemos já ver que os que cadastramos funcionara perfeitamente, agora vamos criar mais um
Com isso feito, vamos agora fazer a exclusão do nosso endereço. Vamos começar passando o nosso state para o item, e lá vamos receber ele para poder fazer a atualização da lista.
const renderItem: ListRenderItem<Address> = ({ item }) => (
<AddressCard item={item} address={allAddress} setAddress={setAllAddress} />
);
interface ItemProps {
item: Address;
address: Address[];
setAddress: React.Dispatch<SetStateAction<Array<Address>>>;
}
const deleteIcon = require("../../../../assets/icons/trash.png");
const AddressCard = ({ item, address, setAddress }: ItemProps) => {
Agora vamos criar o handle e utilizar ele no ícone de deletar
const AddressCard = ({ item, address, setAddress }: ItemProps) => {
const handleDeletAddress = async () => {
Alert.alert(
"Você tem certeza?",
"Ao fazer isso você deleterá o endereço para sempre",
[
{
text: "Sim",
onPress: () => {
addressService.deleteAddress(item._id);
const filteredAddresses = address.filter(
(address) => address._id !== item._id
);
setAddress(filteredAddresses);
},
},
{
text: "Não",
},
]
);
};
return (
<Container>
<Title>{`Rua: ${item.street} - Nº ${item.number}\\nUF: ${item.state}\\nCEP: ${item.cep}`}</Title>
<DeletButton onPress={handleDeletAddress}>
<DeletIcon source={deleteIcon} />
</DeletButton>
</Container>
);
};
Agora temos o ciclo completo dos endereços que estão dentro do nosso sistema, podendo criar, excluir e ver eles aqui dentro desse ciclo