reactjs - هیچ انتقالی بین حالتهای خارجشده و واردشونده در گروه انتقال واکنش وجود ندارد


من یک HOC ایجاد میکنم که گروهی از کامپوننتهای فرزند را با استفاده از TransitionGroup و Transition از react-transition-group انیمیت میکند تا یک افکت «نمایش تدریجی» و «ناپدید شدن تدریجی» به دست آورم. کامپوننت من چیزی شبیه به این است:

const defaultStyle = (duration: number) => ({
   transition: `opacity ${duration}ms ease-in-out`,
   opacity: 0,
});

const transitionStyles: any = {
   entering: {opacity: 1},
   entered: {opacity: 1},
   exiting: {opacity: 0},
   exited: {opacity: 0},
};
export const FadeAnimation: FC<FadeAnimationProps> = ({
   duration,
   children
}) => {
   const elements = React.Children.toArray(children);

   return (
       <TransitionGroup component={null}>
           {elements.map((child, index) => {
               return (
                   <Transition timeout={duration} key={index}>
                       {(transitionState: string) => {
                           return React.cloneElement(child as ReactElement, {
                               style: {...defaultStyle(duration), 
                                       ...transitionStyles[transitionState]},
                           });
                       }}
                   </Transition>
               );
           })}
       </TransitionGroup>
   );
};

با این حال، من نمیتوانم افکت گذر تدریجی (fade in) را فعال کنم و اجزاء من با شفافیت ۱ ظاهر میشوند. وقتی یک console.log از سبکها در هر حالت میگیرم، برای خروج opacity: 0 و سپس برای ورود opacity: 1 را دریافت میکنم. اما هیچ گذر بین این حالات وجود ندارد.

آیا من دارم از این کتابخانه اشتباه استفاده میکنم؟ آیا چیزی در پارامترهای انیمیشنها از دستم در رفته است؟

نمایش: https://jsfiddle.net/4e2xgrtf/2/

در نسخه نمایشی، در کنسول، شما میتوانید وضعیت و همچنین سبک مرتبط با آن را ببینید. اگر روی «افزودن مورد» کلیک کنید، مورد جدید را با وضعیت (خروج/شفافیت 0) و سپس (ورود/شفافیت 1) خواهید دید، اما هیچ انیمیشنی اعمال نمیشود.