Ответы пользователя по тегу React
  • Как сохранить стейт при unmount-e?

    @dmitry-toster
    Почему после unmout-а стейт остается начальным

    Потому что это локальный стейт компонента
    и как его сохранить?

    1. в родительском компоненте
    2. в глобальном сторе типо редакса
    3. в localStorage
    Ответ написан
    Комментировать
  • В чем смысл использовать хуки?

    @dmitry-toster
    Были классы, были HOC

    Они и сейчас есть. Касательно HOC: в виду того, что мы не можем подключить компонент напрямую к стору, приходится делать доп.обертку mapStateToProps. Тем самым над компонентом нарастает еще один компонент который связан со складом. Потом еще одна обертка withStore, withRouter и тд. В дебаггере начинаешь уже видеть большую вложенность компонентов и по мере роста приложения это уже становится антипаттерном. Это все плохо работает с точки зрения минификации и производительности из-за больших деревьев вложенности.
    компоненты разделены на Container/Component или Умный и Глупый

    В чем проблема? Вы тоже самое можете организовать и с хуками
    И если жить с хуками только React еще можно, но когда проект не демонстрационный, а реальный, то подключено еще кучу различных библиотек, у каждой второй есть хуки, в итоге все перемешано.

    Как правило все сторонние подключаемые библиотеки уже содержат в себе хуки из коробки, а те что еще нет, будут поддерживать в следующих версиях. Тоже не вижу здесь проблем.
    Далее философия Redux, "не диспатчить actions напрямую", все через actions creator и тп и тд, сейчас нам просто предоставляется dispatch из useDispatch()

    Эта философия сохраняется и при использование хуков. Вы через useDispatch также диспатчите нужные экшены
    Раньше можно было взять компонент, передать props и быть довольным.

    Сейчас вы точно также любые пропсы спокойно можете спускать в компонент, только делается это уже намного проще без всяких доп.оберток.
    В итоге, я не понимаю куда все идет, почему уходят с классов (удобных, понятных, структурированных) на функциональные компоненты с хуками?

    Основные 2 причины: отказ от HOC и эмуляция методов жизненного цикла у функциональных компонентов.
    Ответ написан
    Комментировать
  • Почему модалка закрывается при любом клике?

    @dmitry-toster
    Починил
    Почему модалка закрывается при любом клике?

    Потому что надо проверять event.target - элемент, по которому реально произошел клик
    Почему только при дабл клике открывается форма

    Логика была неправильная, функция открытия\закрытия модального окна должна быть одна и ее надо пробрасывать через пропсы
    Ответ написан
    Комментировать
  • Как сделать деплой приложения create-react-app?

    @dmitry-toster
    У вас путь к самому JS файлу не верный. Отсюда 404 ошибка и белый лист.
    Сейчас он такой:
    https://iznalfiden.github.io/photo-stock/static/js/main.df8cbc61.chunk.js

    а должен быть таким:
    https://iznalfiden.github.io/rocketfirm_test/static/js/main.df8cbc61.chunk.js

    тоже самое и у стилей
    Ответ написан
  • Нужно ли переписывать верстку сайта на JSX?

    @dmitry-toster
    Не нужно, но если вы этого не сделаете, то рано или поздно пожалеете об этом. Поэтому лучше сразу начинайте использовать JSX, мой вам совет
    Ответ написан
    Комментировать