Pull to refresh
4
0
Тим @Tieriko

User

Send message

Спасибо! Тут два момента:

  • размер карточки обусловлен дизайном и должен быть строго 278. Это не карусель для карточек случайного / изменяемого размера.

  • эту же константу мы используем в GraphQL для запроса картинки нужного размера из CMS

Наверно, можно было бы вынести её в тему проекта (где цвета, шрифты и прочее), но, во-первых, не уверен, что это логично — константа используется для одного элемента на одном конкретном экране. А во-вторых — это бы существенно увеличило количество кода в этой статье :)

Ола! Крутой фидбек! Редко они бывают на основании столь внимательного изучения статьи.

Сразу скажу — у этой статьи нет цели научить писать идеальный код, скорее, я хотел показать способы оптимизации подобных анимаций.

deviceWidth - это не ширина PageView, а 0.68 лучше брать из viewportFraction, что бы не ходить по всему коду и не менять в случае чего

Да, константы в коде могут вызывать вопросы — здесь и правда лучше делать так, как ты говоришь. Спасибо, поправлю.

Не понимаю зачем сохранять позицию, если она уже есть.

Ты имеешь ввиду, что можно сразу подписаться на изменения, которые отдает PageController?

Так же setState не имеет смысла, так как _scrollPosition используется в AnimatedBuilder , который сам подписывается на изменения

Да, спасибо, поправлю статью. Это место переусложнено многократными изменениями в продакшн-проекте :) Не стал рефакторить для статьи, переделаю.

Что произойдёт, если в PageController initialPage != 0 ?

Скорее всего, не произойдет ничего, но перепроверю.

Статья - это круто и я очень рад, что они появляются, но, просто, материала по Flutter становится всё больше, а качество всё меньше. Джуны, один за другим копируют код из статей и потом удивляются, почему реджектят их PR ?

Спасибо ещё раз! Я написал в том числе затем, чтобы получить полезный фидбек.

Information

Rating
Does not participate
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Mobile Application Developer
Middle
TypeScript
NextJS
NestJS
Flutter
React
Vue.js
GraphQL
Nuxt.js