MCPcopy Create free account
hub / github.com/QuarkGluonPlasma/react-course-code / App

Function App

transition-test/src/App2.tsx:5–47  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

3import { useTransition, animated } from '@react-spring/web'
4
5export default function App() {
6 const [items, setItems] = useState([
7 { id: 1, text: "guang" },
8 { id: 2, text: "guang" },
9 ]);
10
11 const transitions = useTransition(items, {
12 initial: { transform: 'translate3d(0%,0,0)', opacity: 1 },
13 from: { transform: 'translate3d(100%,0,0)', opacity: 0 },
14 enter: { transform: 'translate3d(0%,0,0)', opacity: 1 },
15 leave: { transform: 'translate3d(-100%,0,0)', opacity: 0 },
16 keys: items.map(item => item.id)
17 });
18
19 return (
20 <div>
21 <div className="item-box">
22 {transitions((style, i) => {
23 return <animated.div className="item" style={style}>
24 <span
25 className="del-btn"
26 onClick={() => {
27 setItems(items.filter((item) => item.id !== i.id));
28 }}
29 >
30 x
31 </span>
32 {i.text}
33 </animated.div>
34 })}
35 </div>
36
37 <div
38 className="btn"
39 onClick={() => {
40 setItems([...items, { id: Date.now(), text: 'guang' }]);
41 }}
42 >
43 Add
44 </div>
45 </div>
46 );
47}

Callers

nothing calls this directly

Calls 1

useStateFunction · 0.90

Tested by

no test coverage detected