With the old pages
router, I could await
router.push
. I used this to keep a button disabled while we are in the process of navigating to another page:
async function onSubmit(input: CreatePostFormData) {
try {
await BlogApi.createBlogPost(input);
await router.push("/blog/" + slug);
} catch (error) {
console.error(error);
alert(error);
}
}
The new router doesn't return a Promise. Is there a way to achieve a similar behavior without using my own state?