Ну у вас тут 2 варианта.
1) После addTask вызывать getAllTasks (2 запроса, но максимально актуальные данные)
2) в addTask делать не только post на сервер, но ещё и обновлять стэйт. (лучше конечно разделить на 2 функции, чтобы не нарушать принцип единственной ответственности)
то есть:
const addTask = async (event) => {
event.preventDefault();
await API.post("/tasks", {
title: title
});
setTasks([...tasks, { title: title }])
};
Однако, тут стоит учесть, что если Post запрос не пройдёт, а вы обновите стэйт, то данные будут не актуальные у пользователя. Таким образом, если ваше
API.post
возвращает промис, то стоит обновлять стэйт в .then(). Ну или через
await
Дальше уже смотрите по ситуации что Вам больше подойдёт.