问题描述
我正在尝试在 react 中创建一个预先输入的下拉列表。下拉列表将显示名称列表。 我正在关注 npm 文档中的单选示例 live example
这是我的代码块。
const [singleSelections,setSingleSelections] = useState([]);
<Form.Group>
<Form.Label>Selection</Form.Label>
<Typeahead
id="basic-typeahead-single"
labelKey={option => `${option.key}`}
onChange={selected => setSingleSelections(selected)}
options={personList.map(p => <option key={p.firstName} value={p.firstName!!}>{p.firstName}</option>)}
placeholder="Search Person"
selected={singleSelections}
/>
</Form.Group>
“Element[]”类型的参数不可分配给“SetStateAction
我该如何解决这个问题。有人可以帮我吗
解决方法
当你写useState([])
时,你必须通过useState<T>([])
告诉打字稿“singleSelection”的类型。由于您刚刚将 [] 作为值传递,因此 typescript 会将其评估为 never[]
。
const [singleSelections,setSingleSelections] = useState<TypeOfsingleSelection[]>([])