【发布时间】:2021-08-05 08:10:52
【问题描述】:
我正在尝试使用 react-spring 制作动画,但是当我去调用 useTransition 函数时,传递了一些我不理解的错误的属性
import React from 'react';
import { useTransition } from 'react-spring';
import { Container } from './styles';
import { ToastMessage } from '../../hooks/toast';
import Toast from './Toast/index';
interface ToastContainerProps {
messages: ToastMessage[];
}
const ToastContainer: React.FC<ToastContainerProps> = ({ messages }) => {
const messageWithTransitions = useTransition(
messages,
message => message.id,
{
from: { right: '-120%' },
enter: { right: '0%' },
leave: { right: '-120%' },
},
);
return (
<Container>
{messageWithTransitions.map(({ item, key, props }) => (
<Toast key={key} message={item} />
))}
</Container>
);
};
export default ToastContainer;
错误:
没有重载匹配这个调用。
重载 1 of 3, '(data: OneOrMore, props: () => { ref?: SpringRef
const ToastContainer: React.FC<ToastContainerProps> = ({ messages }) => {
const messageWithTransitions = useTransition(
^
messages,
message => message.id,
【问题讨论】:
-
我认为您在版本 9 中使用了旧的 v8 语法。在版本 9 中,useTransition 发生了变化。您不再为其提供密钥,并且渲染部分正在使用渲染道具而不是地图。
-
Eu usei a versão V8 é funcionou, obrigado!
标签: reactjs typescript styled-components react-spring