use*_*932 8 typescript next.js
在此端点处理程序中,有没有一种方法可以将req.queryNextJS限制NextApiRequest为仅string类型而不是string | string[]. 例如,someQueryParam这里是string | string[]类型,但我想将其用作string类型
export default async function handler(
req: NextApiRequest,
res: NextApiResponse<Response>
) {
const { someQueryParam } = req.query;
// pass in someQueryParam as a string into a function call
const result = functionCall(someQueryParam)
}
Run Code Online (Sandbox Code Playgroud)
string将 someQueryParam 传递到仅接受参数类型的函数时出现打字稿错误:
Argument of type 'string | string[]' is not assignable to parameter of type 'string'.
Type 'string[]' is not assignable to type 'string'.
Run Code Online (Sandbox Code Playgroud)
NextApiRequest作为参考,这里是Nextjs 库中的定义
在将其传递给函数之前,也欢迎任何建议以某种方式用作someQueryParam类型string而不是在处理程序中类型string | string[]
最重要的问题是网址协议允许分配多个具有相同名称的查询名称。string[]然后它们作为 a而不是单个字符串传递。
例如,?value=one&value=two。因此,如果仅使用一个字符串,则应由应用程序决定接受哪个值。
const value = Array.isArray(params.value) ? params.value[0] : params.value
| 归档时间: |
|
| 查看次数: |
9982 次 |
| 最近记录: |