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

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

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

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

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

1 Ответ

1 голос
/ 27 марта 2020

Вы можете воспользоваться вторым эффектом использования, подобным следующему:

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

Это будет запускать calcAverageExpense при каждом изменении списка.

...