const { useRef, useState } = React;
function App() {
const [items, setItems] = useState(() => [
{ id: 0, color: "blue" },
{ id: 1, color: "red" },
{ id: 2, color: "purple" }
]);
const removeItem = (value) => {
setItems(prev => prev.filter(item => item !== value));
}
const remove = (item, target) => {
gsap.to(target, {
opacity: 0,
onComplete: () => removeItem(item)
});
};
return (
<div className="app boxes">
{items.map((item) => (
<div
className={`box ${item.color}`}
key={item.id}
onClick={(e) => remove(item, e.currentTarget)}
>
Click Me
</div>
))}
</div>
);
}
ReactDOM.render(<App />, document.querySelector("#root"));
View Compiled