主分支
分支
主分支 (6.23.1)开发分支
版本
6.23.1v4/5.xv3.x
unstable_useViewTransitionState

unstable_useViewTransitionState

类型声明
declare function unstable_useViewTransitionState(
  to: To,
  opts: { relative?: "route" : "path" } = {}
): boolean;

type To = string | Partial<Path>;

interface Path {
  pathname: string;
  search: string;
  hash: string;
}

当存在一个活动 视图转换 到指定位置时,此钩子返回 true。这可以用来对元素应用更细粒度的样式,以进一步自定义视图转换。这需要在 Link(或 Formnavigatesubmit 调用)上通过 unstable_viewTransition 属性为给定的导航启用视图转换。

考虑点击列表中的图像,您需要将其扩展到目标页面上的英雄图像

function NavImage({ src, alt, id }) {
  const to = `/images/${id}`;
  const isTransitioning =
    unstable_useViewTransitionState(to);
  return (
    <Link to={to} unstable_viewTransition>
      <img
        src={src}
        alt={alt}
        style={{
          viewTransitionName: isTransitioning
            ? "image-expand"
            : "",
        }}
      />
    </Link>
  );
}
文档和示例 CC 4.0