почему useEffect работает без остановки

У меня есть такой код, я получаю todos в пропсах, затем в эффекте устанавливаю стейт, в зависимостях этот пропс todos, почему-то происходит постоянный перерендер?

const Todos = ({ todos, user }: todosProps) => {
  const [searchValue, setSearchValue] = useState<string>("");
  const [filteredTodos, setFilteredTodos] = useState<todoProps[]>(todos);

  const { taskType } = useSelector((state: RootState) => state.todo);

  const handleUpdateCheck = (item: any) => {
    const newItem = { ...item, isDone: !item.isDone };
    updateTodo(newItem);
  };

  const handleFilter = (type: string) => {
    if (type === "in_progress") {
      setFilteredTodos(todos.filter((todo) => todo.isDone === false));
    } else if (type === "done") {
      setFilteredTodos(todos.filter((todo) => todo.isDone === true));
    } else {
      setFilteredTodos(todos);
    }
    console.log("filteredTodos: ", filteredTodos);
  };
  useEffect(() => {
    debugger;
    setFilteredTodos(todos);
  }, [todos]);

Подскажите почему это происходит и как это пофиксить


Ответы (0 шт):