【发布时间】:2020-09-28 02:01:12
【问题描述】:
我尝试使用 ReactJS 和 Typescript 在每次点击中创建一个数组。这是我的代码:
const FormTags: React.FC = () => {
const [selected, setSelected] = React.useState<[]>([])
const handleTag = (e: React.FormEvent<HTMLInputElement>) => {
let id: number = +e.currentTarget.value
//working, show me each id
console.log(id)
// not working
setSelected([...id]) // error here
// Argument of type 'number' is not assignable to parameter of type
// 'SetStateAction<[]>'.
}
//retrieve tags working well, show me all list tags
return (
<form>
{tags && tags.map(tag: any) => (
<label key={tag.id}>
<input type="checkbox" value={tag.id} onClick={handleTag}/>
</label>
)}
</form>
)
}
我想在每次点击时构建一个这样的数组 [1, 2, 3, ...] 获取标签的 ID 并使用setSelected 将其持久化。我该怎么做?
【问题讨论】:
-
useState<number[]>([])
标签: javascript reactjs typescript react-functional-component