Open3

Next.js13の調べごと

GMRGMR

アニメーション付けたい

基本的にFramer motionを使ってもいい。

ただし、アニメーションではuse clientを使う

"use client";

import React, { FunctionComponent, ReactNode } from "react";

import { motion } from "framer-motion";

const slideInAnimation = {
  hidden: { opacity: 0, x: "-100%" },
  visible: { opacity: 1, x: "0%" },
};

interface Props {
  children: ReactNode;
}

export const SlideIn: FunctionComponent<Props> = ({ children }) => {
  return (
    <motion.div
      initial="hidden"
      animate="visible"
      variants={slideInAnimation}
      transition={{ duration: 0.5 }}
    >
      {children}
    </motion.div>
  );
};
GMRGMR

layout

https://nextjs.org/docs/app/building-your-application/routing/pages-and-layouts

Root layout

アプリディレクトリのトップレベルに定義され、すべてのルートに適用される。
<html> と <body> タグを定義する必要がある。

nested layout

フォルダ内に定義されたレイアウトは特定のルートセグメントに適用される。
ファイル階層内のレイアウトはデフォルトでネストされている。
(例: app/dashboard/layout.js)