Я пытаюсь объявить изменение позиции элементов в списке с помощью React Spring.
Наличие предмета с useSpring
просто:
function App() {
const [items, setItems] = React.useState([0, 1]);
const handleClick = () => {
if (items[0] === 0) {
setItems([1, 0]);
} else {
setItems([0, 1]);
}
};
const props = useSpring({ opacity: 1, from: { opacity: 0 } });
return (
<>
<animated.div style={props}>
<button type="button" onClick={handleClick}>
click
</button>
</animated.div>
<ul className="App">
{items.map(item => {
return <li key={item}>{item}</li>;
})}
</ul>
</>
);
}
Однако, когда я пытаюсь использовать useSprings
, я получаю сообщение об ошибке:
function App() {
const [items, setItems] = React.useState([0, 1]);
const handleClick = () => {
if (items[0] === 0) {
setItems([1, 0]);
} else {
setItems([0, 1]);
}
};
const springs = useSprings(items.length, items.map(item => ({ opacity: item.opacity }))
return (
<>
<button type="button" onClick={handleClick}>
click
</button>
<ul className="App">
{items.map(item => {
return <li key={item}>{item}</li>;
})}
</ul>
</>
);
}
https://codesandbox.io/s/wonderful-oskar-v04vw
/ src / index.js: неожиданный токен, ожидаемый ","
В документах нет подробностей: https://www.react -spring.io / docs / hooks / use-springs