Как использовать приставку, чтобы получить только значение без управления состоянием - PullRequest
1 голос
/ 26 марта 2020

Я использую метод диспетчеризации приставки для побочных эффектов, а затем возвращаю значение. Я не заинтересован в управлении государством в этом случае. Как я могу вернуть значение из функции отправки?

Мой код в компоненте:

useEffect(() => {
    try {
        const a = dispatch(
            expensesActions.getExpenseList()
        )
        console.log("return value", a)
    } catch (err) {
        setError(err.message)
    }
  }, [dispatch]);

Я пытаюсь использовать для возвращаемого значения, но на console.log это то, что Я получаю:

Promise {
  "_40": 0,
  "_55": null,
  "_65": 0,
  "_72": null,
}

И мой очень простой код в моем действии:

export const getExpenseList = () => {
    return async (dispatch, getState) => {
        return "HELLO"
    }
}

Я хочу вернуть значение "HELLO", где я его отправляю, возможно ли это?

1 Ответ

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

Отправка асинхронная, поэтому вы ведете журнал консоли, прежде чем получите ответ. Вы можете попробовать:

dispatch(
    expensesActions.getExpenseList()
).then(result => {
    // do stuff
    console.log(result)
})

или

console.log(dispatch(expensesActions.getExpenseList()))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...