我有这个鳕鱼。
const paramsString = "q=URLUtils.searchParams&topic=api";
const searchParams = new URLSearchParams(paramsString);
const Search: string = searchParams.get("topic")?
searchParams.get("topic"):"100";
我收到此错误。输入'string | “ null”不可分配给“ string”类型。 不能将'null'类型分配给'string'类型。
答案 0 :(得分:1)
更新: 只需将参数值存储在变量中(Typescript不会对函数调用进行基于控制流的类型分析):
const topic = searchParams.get("topic");
const Search: string = topic ? topic : "100";
这是因为如果找不到搜索参数,URLSearchParams.get()
返回null
,所以searchParams.get("Search")
可以是null
。
您已启用strictNullChecks
编译器选项,因此会出现错误。
要解决此问题,您可以将变量键入为string | null
:
const Search: string | null = searchParams.get("topic") ? searchParams.get("Search") : "100";
或者,如果您确定,则查询字符串具有“搜索”参数,您可以使用non-null assertion operator:
const Search: string = searchParams.get("topic") ? searchParams.get("Search")! : "100";