useTransitionProgress()v4.0.177
一个可以在<TransitionSeries.Sequence>
的子组件中使用的钩子,用于获取过渡的进度,以直接操作场景中的对象。
它旨在与none()
演示一起使用,但也可以与任何其他演示一起使用。
示例
useTransitionProgress()tsx
import {useTransitionProgress } from "@remotion/transitions";import {linearTiming ,TransitionSeries } from "@remotion/transitions";import {none } from "@remotion/transitions/none";constA :React .FC = () => {constprogress =useTransitionProgress ();console .log (progress .entering ); // Always `1`console .log (progress .exiting ); // Going from 0 to 1console .log (progress .isInTransitionSeries ); // `true`return <div >A</div >;};constB :React .FC = () => {constprogress =useTransitionProgress ();console .log (progress .entering ); // Going from 0 to 1console .log (progress .exiting ); // Always `0`console .log (progress .isInTransitionSeries ); // `true`return <div >B</div >;};constC :React .FC = () => {constprogress =useTransitionProgress ();console .log (progress .entering ); // Always `1`console .log (progress .exiting ); // Always `0`console .log (progress .isInTransitionSeries ); // `false`return <div >C</div >;};constTransition :React .FC = () => {return (<><TransitionSeries ><TransitionSeries .Sequence durationInFrames ={40}><A /></TransitionSeries .Sequence ><TransitionSeries .Transition presentation ={none ()}timing ={linearTiming ({durationInFrames : 30 })}/><TransitionSeries .Sequence durationInFrames ={60}><B /></TransitionSeries .Sequence ></TransitionSeries ><C /></>);};
useTransitionProgress()tsx
import {useTransitionProgress } from "@remotion/transitions";import {linearTiming ,TransitionSeries } from "@remotion/transitions";import {none } from "@remotion/transitions/none";constA :React .FC = () => {constprogress =useTransitionProgress ();console .log (progress .entering ); // Always `1`console .log (progress .exiting ); // Going from 0 to 1console .log (progress .isInTransitionSeries ); // `true`return <div >A</div >;};constB :React .FC = () => {constprogress =useTransitionProgress ();console .log (progress .entering ); // Going from 0 to 1console .log (progress .exiting ); // Always `0`console .log (progress .isInTransitionSeries ); // `true`return <div >B</div >;};constC :React .FC = () => {constprogress =useTransitionProgress ();console .log (progress .entering ); // Always `1`console .log (progress .exiting ); // Always `0`console .log (progress .isInTransitionSeries ); // `false`return <div >C</div >;};constTransition :React .FC = () => {return (<><TransitionSeries ><TransitionSeries .Sequence durationInFrames ={40}><A /></TransitionSeries .Sequence ><TransitionSeries .Transition presentation ={none ()}timing ={linearTiming ({durationInFrames : 30 })}/><TransitionSeries .Sequence durationInFrames ={60}><B /></TransitionSeries .Sequence ></TransitionSeries ><C /></>);};
API
一个返回具有以下属性的 React 钩子对象:
entering
进入场景的进度。如果不在<TransitionSeries.Sequence>
内部,则始终为1
。
exiting
退出场景的进度。如果不在<TransitionSeries.Sequence>
内部,则始终为0
。
isInTransitionSeries
当前场景是否在<TransitionSeries.Sequence>
内部。