'A hook as an array”翻译为“用数组作为钩子”,可以使用如下代码实现:
import { useState, useEffect } from 'react';
const useArrayAsHook = (initialArray) => { const [array, setArray] = useState(initialArray);
useEffect(() => { console.log("The array has been updated: ", array); }, [array]);
const addItem = (item) => { setArray([...array, item]); };
const removeItem = (index) => { const newArray = [...array]; newArray.splice(index, 1); setArray(newArray); };
const clearArray = () => { setArray([]); };
return { array, addItem, removeItem, clearArray }; };
// Usage const { array, addItem, removeItem, clearArray } = useArrayAsHook(['apple', 'orange']); console.log(array); // ['apple', 'orange'] addItem('banana'); console.log(array); // ['apple', 'orange', 'banana'] removeItem(1); console.log(array); // ['apple', 'banana'] clearArray(); console.log(array); // []