交作业啦!
来源:4-6 作业练习 - 用 Hook + TS + TS泛型实现useArray

A信仰圣光吧
2021-09-03
export const useArray = <T>(_value: T[]) => {
const [value, setValue] = useState(_value)
const add = useCallback((param: T) => {
const result = JSON.parse(JSON.stringify(value))
setValue(result.concat(param))
}, [value])
const removeIndex = useCallback((index: number) => {
if (value[index]) {
const result = JSON.parse(JSON.stringify(value))
result.splice(index,1)
setValue(result)
}
}, [value])
const clear = useCallback(() => {
setValue([])
}, [])
return { value, clear, removeIndex, add }
}
写回答
1回答
-
Nolan
2021-09-04
不要这样用:
JSON.parse(JSON.stringify(value))
非常损耗性能。。。
012021-09-06
相似问题