使用useEffect,数组格式化时的无限循环

时间:2020-10-22 19:18:00

标签: javascript arrays reactjs use-effect

使用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;

0 个答案:

没有答案