我有以下代码:
print(fn({"C": 1.0, "gamma": 0.1}))
我得到的错误是:
输入'Jobtitles_jobTitles |未定义”无法分配给类型 '未知[]'。无法将类型'undefined'分配给类型'unknown []'。
谁能解释我为什么会收到错误消息?
答案 0 :(得分:0)
似乎typescript希望您传递某种类型的变量,其数据类型不是undefined。问题似乎与
有关options = {data?.jobTitles}
本质上,它将检查数据中的关键“ jobTitles”并将其内容分配给选项(如果存在),否则分配undefined(在这种情况下不正确)
const [fetchJobTitlesCall, { data }] = useLazyQuery<Jobtitles, JobtitlesVariables>(JobTitlesQuery)
useEffect(() => {
fetchJobTitlesCall({ variables: { keyword: 'Dev' } })
}, [fetchJobTitlesCall, data])
return (
<Autocomplete
onChange={(event, value) => dispatchJobTitlesFilter(value)}
multiple
id="tags-outlined"
options={data.jobTitles ? data.jobTitles : {}} // Modified code
getOptionLabel={option => option.name + ` (${option.totalApplicants})`} // this should be automatically fixed
filterSelectedOptions
renderInput={params => (
<TextField
{...params}
onChange={event => fetchJobTitles(event.target.value)}
variant="outlined"
label="Search Job Title"
placeholder="Search Job Title"
/>
)}
/>
)