Nextjs client 使用 useRouter push 或者 replace 时,显示一个 loading 状态给用户。可以通过使用 useTransition 来实现。
代码如下:
import { useRouter } from 'next/navigation'
import { useTransition } from 'react'
'use client'
export function MyComponent() {
const router = useRouter()
const [isPending, startTransition] = useTransition()
function navigate() {
startTransition(() => {
router.push('/sometwhere')
})
}
return (
<div>
<button type="button" onClick={navigate}>Click</button>
{isPending && <p>Navigating...</p>}
</div>
)
}
开发过程中,如果需要连接一个可用的本地 PostgreSQL 数据库,那么通过 Docker Compose 在本地运行 数据库 PostgreSQL 就很有必要了。
肯定是需要安装 Docker 的。
创建一个放置数据库以及数据的目录。
mkdir postgres-docker
cd postgres-docker
创建 docker-compose.yml 文件
在项目目录中,创建一个名为docker-compose.yml
的文件并添加以下配置:
services:
db:
image: postgres:latest
container_name: local-postgres
environment:
POSTGRES_USER: <postgres_user>
POSTGRES_PASSWORD: <postgres_password>
POSTGRES_DB: <postgres_db>
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data 或 /postgres-docker/postgresql/data
- ./init.sql:/docker-entrypoint-initdb.d/init.sql # Optional: initialize with SQL script
volumes:
postgres_data:
请将
<postgres_user> <postgres_password> <postgres_db> 替换为自己真实的配置信息。
/var/lib/postgresql/data 为 Linux 下路径。
/postgres-docker/postgresql/data 为 Windows 下路径, 第一个 / 表示当前盘的根目录
5432:5432 映射允许通过端口 5432 本地访问数据库。
postgres_data:即使在停止容器后也保留 PostgreSQL 数据。
init.sql:可选的 SQL 脚本,在容器启动时自动运行(也可以自定义此文件以进行初始配置)。
使用
即可启动服务了。当然了,通过 docker desktop 也可以管理。
使用命令行
psql -h localhost -p 5432 -U postgres_user -d postgres_db
即可连接数据库了,或者通过 GUI 工具也可以。
意思 | 不需要/不用(干/做)… |
用法 | 动词 ない形(去掉ない) + なくてもいいです・なくてもかまいません |
例句:
1. 心配しなくてもいいですよ。 心配します -> 心配し(ない)なくてもいいです 不需要担心哦。
2. 明日は授業に 来なくてもいいです。 来ます -> 来(ない)なくてもいいです 明天不用来上课。
意思 | 必须/应该(干/做)… |
用法 | 动词 ない形 + なければなりません・なくてはいけません |
例句:
1. このケーキを 食べなければなりません。 食べます -> 食べ(ない)なければなりません 必须吃这个蛋糕。
2. コーヒーを 飲まなくてはいけません。 飲みます -> 飲まなくてはいけません 必须喝咖啡。