使用useEffect尝试操纵数据时,出现无限循环。我有一个对象数组(即待办事项),每次更改数组时,我都想对数组进行一些修改。
我只希望useEffect在传递给函数的待办事项列表已更改时运行,以便我可以更新每一个。
function useFormatTodoData(todos = [], userSelectedTime) {
const [editedTodos, setEditedTodos] = useState(todos);
const editTodos = useCallback(() => {
return todos.map(todo => {
return {
time: userSelectedTime,
...todo
}
})
}, [todos]);
useEffect(() => {
setEditedTodos(editTodos());
}, [todos, editLineups]);
return editedTodos;
}
export default useFormatTodoData;