Pull to refresh
-2
0
Дарын @Ragazzo

User

Send message
Redux был создан до появления Flow. Поэтому если вы используете Flow, то должны отказаться от Redux, так как писать десятки типов на каждый чих — это мучение.
Apollo вовсе не крут. Я тоже думал, что он крут. Но как только погружаешься в него — там столько багов. Сами создатели не могут их исправить… Тупой и беспощадный хайп-шмайп, надоело!
Надо предупредить тех, кто собирается перейти на Apollo, что там нет инвалидации кэша на клиенте (при server-side rendering это критично): github.com/apollographql/apollo-client/issues/621 Замучался с этим. Можно сделать костыль через writeQuery, но хорошего решения не нашёл.
Нет, там пишешь запрос и тут же обрабатываешь loading, error и data. И всё. Просто всё. Без всяких диспатч-шмитспатч, редюсер… Но, правда, там есть другая проблема — нет никакой инвалидации кэша на клиенте. Вообще никак это не предусмотрено. Просто убило меня это.
Если просто, то не нравится и всё. Если подробнее, то тут есть видео на тему: www.youtube.com/watch?v=kuHSJNxNFQw
Apollo — это такой же геммор, как и Redux. Я удивляюсь, почему до сих пор нет простой инвалидации кэша в InMemoryCache
Ахаха, а GraphQL — разве не такой же хайп? Вот мучаюсь с ним уже месяц. И никакого продвижения. Даже элементарной инвалидации кэша в InMemoryCache нет. github.com/apollographql/apollo-feature-requests/issues/4 — они тупо не могут это сделать. О чём вообще можно говорить? Ну как такое возможно? Я не хочу сидеть и делать примитивные вещи, я хочу делать само приложение. Но увы, это пока невозможно. Я исключаю всякие тупые примеры типа Todo List и прочую ахинею.
Как звучит красиво, какие заумные слова: сага, функция-генератор… В итоге вы получаете огромный и сложно поддерживаемый код, добавьте к этому и flow-types. Чтобы сделать обычный запрос и получить обычный ответ, вам надо создавать 5 файлов и везде писать много кода. Вместе того, чтобы делать само приложение, вы будете только и разгребать весь этот мусор. Я не понимаю, кто это придумал: делать кучу телодвижений внутри самого приложения (dispatches, actions, actions-types, reducers, sagas) вместо того, чтобы сделать один простой запрос к серверу. Один простой запрос! Я когда-то читал все эти статьи с заумными заголовками, делал по всем этим стандартам. Думал, всё продумано и это хорошо работает. Но оказалось, что это пустой, бессмысленный и беспощадный хайп. Поэтому перехожу на graphql и apollo.
Я написал кучу recuders, actions, action types, sagas, flow-types для redux (это действительно больно), а теперь оказывается всё это не нужно? Почему раньше меня об этом никто не предупредил?
А что делать, если двум и более компонентам надо работать с общими данными?
Спасибо. Разобрался в вопросе пару дней назад)
А как сделать spliting для server-side рендеринга?
Не работает с css модулями… В этом и весь прикол реакта. Всё прекрасно работает на простых примерах. Но как только тебе что-то нужно дополнительно — всё ломается.
Крым не ваш, оккупанты ебучие!
Наконец-то таки решил свою проблему с отображением данных из API в ответе от сервера. Дня четыре сидел над этим. Дело в том, что эту хитрую вещь никто не описывает. Я пересмотрел кучу турториалов, статей, выступлений… И все как один рендерят только пустые компоненты, без данных из API.

https://blog.tableflip.io/server-side-rendering-with-react-and-redux/ — в этой статье всё хорошо написано. Может, кто-то, как и я, тоже столкнётся с этой проблемой. Поэтому эта статья им поможет.
А вообще удивительно. В статье привели пример, который никогда не используется… А сейчас ответ в духе — нарисуйте два круга, а потом сову… Придётся искать ответы в другом месте. Думаю, не я один сталкиваюсь с этим. При этом в документациях этого ничего не описано. Жаль.
Спасибо за ответ. Извините за беспокойство.
То есть вообще никак не выгрузить данные из БД в срендеренный HTML на сервере до отправки ответа клиенту? Для чего мне это надо? Для поисковых систем. Когда робот лезет на страницу site.com/news, в html-коде страницы он должен видеть текст новостей! А этого текста нет, так как он загрузится потом, сделав ajax-запрос через некоторое время. То есть по сути это никакой не server-side rendering. Он server-side rendering только, чтобы срендерить пустые компоненты без данных. А это реально тупо. Я просто возмущен, что так происходит.

Спасибо за ваши ответы. Хотелось бы узнать от опытного разработчика, как вы преодолели эти вещи.
1

Information

Rating
Does not participate
Registered
Activity