Итак, у меня есть кнопка:
<button onClick={doSomething}>Do it</button>
И у меня есть функция
const doSomething = () => {
console.log(1)
}
И я хочу, чтобы console.log(2)
срабатывал после запуска doSomething
.
Примерно так:
const doSomething = () => {
console.log(1)
console.log(2)
}
А вот этот console.log(2)
сразу срабатывает. Я хочу, чтобы при нажатии на кнопку запускалось console.log(2)
после console.log(1)
.
Нужно ли мне здесь использовать useEffect()
? Если да, то как?
РЕДАКТИРОВАТЬ :
Вот в чем проблема. getQuestions()
срабатывает сразу после выполнения функции a
. Я хочу, чтобы getQuestions()
срабатывал после завершения props.answerQuestion()
.
const a = (e) => {
e.preventDefault();
props.answerQuestion({
question: question,
answer: answer,
});
getQuestions();
};
EDIT2:
export const answerQuestion = (answerQuestion) => (dispatch) => {
const token = localStorage.getItem("token");
if (token) {
axios
.post("http://localhost:5000/answerQuestion", answerQuestion, {
headers: {
"X-Auth-Token": token,
},
})
.then((res) => {
dispatch({
type: ANSWER_QUESTION,
payload: res.data,
});
});
}
};