mancuoj

mancuoj

Better late than never.
github
twitter

Remix 删除 URL 中为空的查询参数

避免 ?q= 这种查询参数为空的 URL 出现,可以在 loader 函数中检测并触发重定向。

async function clearEmptyParams(url: URL) {
  let shouldRedirect = false
  for (const [key, value] of url.searchParams.entries()) {
    if (value === '') {
      url.searchParams.delete(key)
      shouldRedirect = true
    }
  }
  if (shouldRedirect) {
    throw redirect(url.toString())
  }
}

export async function loader({ request }: LoaderFunctionArgs) {
  const url = new URL(request.url)
  await clearEmptyParams(url)

  // ... 其他代码
}
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。