Получение обновленного состояния редукса после отправки с помощью ловушек реагирования

Я использую действие costActions.getExpenseList, чтобы получить список из базы данных, который, в свою очередь, обновляет хранилище в cost.expenseList. Я вызываю действие внутри ловушки useEffect и хотел бы получить список из хранилища после его получения. ,

Мой код ниже не работает, потому что порядок неправильный, если я обновляю (с сохранением), у меня есть список. Как я могу изменить код, чтобы мой список был восстановлен после завершения действий?

   const fetchedList = useSelector(state => state.expense.expenseList);

    // Get expense list
    useEffect(() => {
      const loadList = async () => {
        setIsLoading(true)
        await dispatch(expensesActions.getExpenseList())
        calculateAverageExpense()
      }
      loadList()
      }, [dispatch]);

Всего 1 ответ


Вы можете иметь второй useEffect, как это:

useEffect(() => {
  if (fetchedList.length) calculateAverageExpense();
}, [fetchedList])

Это будет выполнять CalculateApenExpense каждый раз, когда ваш список меняется.


Есть идеи?

10000