Пока совершенно не получается найти время на посты, но у меня уже есть список идей, о которых я хотел бы написать. Не хочу опускаться до мемной ленты, потому делаю посты реже, но лучше. Кое о чем, всё же, расскажу.

Столкнулся тут с приколюхой. Делаем небольшой проект на Next.js. В серверном компоненте происходит запрос и если он отрабатывает, то перенаправляем на другую страницу, а если нет, то показываем страницу с ошибкой. Я, естественно, взял redirect из доки, но удивился, когда при успешном запросе он не отработал.

Стал разбираться. Оказалось, что под капотом redirect при вызове выкидывает ошибку, и если в коде есть trycatch, то эта ошибка будет поймана и redirect не произойдет. Это даже помечено в разделе Поведение в доке:

redirect throws an error so it should be called outside the try block when using try/catch statements.

Работает это так, что вызове redirect(), функция кидает ошибку NEXT_REDIRECT и останавливает рендер.

Честно, на первый неискушенный взгляд совсем неочевидное поведение. Каждый день что-то новое.

Может тоже можете рассказать про какие-то интересные вещи, с которыми столкнулись при работе с javascript, react или next?

#react #nextjs