Потому что событие перехватывается на фазе погружения. Не надо кнопки в ссылки заворачивать. Представь, если на пульте от телевизора кнопка переключения канала будет находиться внутри кнопки выключения телека. Какой в ней смысл, если телек выключится до переключения канала?
Мне кажется если ты хочешь делать редирект после сабмита то лучше это делать в функции onsubmit и например history push юзать. Если что-то не так говорю поправьте
А как это сделать?
useHistory -> history.push
https://gist.github.com/elitan/5e4cab413dc201e0598ee05287ee4338
Юзать гетсби при этом оставаясь на REST вместо graphQL смертельно для жизни?
Вообще без разницы Там graphql в движок встроен и необходим только на этапе билда. Без него не заведётся. Вернее, заведётся, но зачем. А как клиент с сервером общается — вообще побоку, хоть по сокету
В официальной доке просто пугают что не будет хот релоада, и нужно будет пересобирать проект если данные изменились, и чет такое Имеется ввиду те данные что залетали во время билда, например при создании страниц через createPage()?
Важно понимать, что с гэтсби у тебя есть два приёмника данных — на этапе билда через grapql и в рантайме — на чем бог пошлёт
Ну вон я за этап билда и боюсь
Например на сервере изменилось кол-во страниц что нужно отрисовать Как без графКЛ он пересоберет страницу, если уже задеплоен?
ты можешь из своего реста сделать source для GraphQL и оно ничем не будет отличаться от люого другого источника какую-нибудь headless CMS ты подключаешь (тысячи их в плагинах) и данные из неё тянутся рестом
Вот по поводу первого предложения есть к примеру strapi.io, headless cms типичнейшая Предлагаешь в рантайме тянуть по РЕСТу, а во время билда по graphQL?
если ты тянешь в рантайме, то теряешь смысл статической генерации, главную фичу гэтсби
для меня смысл гетсби оч простой - облегченные роуты и более продвинутая сборка в хтмлку
https://www.youtube.com/watch?v=VoscwJ6MGsU
Обсуждают сегодня