Size: a a a

React Native — русскоговорящее сообщество

2020 March 04

DS

Dmitry Shcherbakov in React Native — русскоговорящее сообщество
Типо когда хэдер виден то под ним находится блок который не виден и сдвигает высоту скролл вью
источник

BS

Bogdan Shelomanov in React Native — русскоговорящее сообщество
я в вебе сделал, в рн не могу даже примерно перенести, либ нету, пример не могу даже глянуть
источник

DS

Dmitry Shcherbakov in React Native — русскоговорящее сообщество
Веб это веб) там по-другому обработка происходит
источник

BS

Bogdan Shelomanov in React Native — русскоговорящее сообщество
Dmitry Shcherbakov
Типо когда хэдер виден то под ним находится блок который не виден и сдвигает высоту скролл вью
почему хедер всегда абсолютом? без абсолюта сдвигать возможно елемент?
источник

DS

Dmitry Shcherbakov in React Native — русскоговорящее сообщество
Можно, но помню у меня были с этим проблемы какие-то, не могу точно сказать
источник

BS

Bogdan Shelomanov in React Native — русскоговорящее сообщество
я еще не пойму, анимация как только стартанул, пойдет выполнятся, тоесть если ты немного проскролил, анимация не прекращается, хедер уедет, значит на стоп скрол и анимацию стопить?
источник

VG

Valentin Galkin in React Native — русскоговорящее сообщество
Bogdan Shelomanov
я еще не пойму, анимация как только стартанул, пойдет выполнятся, тоесть если ты немного проскролил, анимация не прекращается, хедер уедет, значит на стоп скрол и анимацию стопить?
для этого можно использовать Animated.event
источник

K

Kim in React Native — русскоговорящее сообщество
Чет не пойму, почему <div>{error}</div> имеет heigth 0, когда одновляется стейт через useState ( const [error, setError] = useState(''); ). Из за этого рендерится сообщение об ошибке с неправильной высотой, в то время как если не забирать ошибку из api, а просто прописать руками тупо setError(‘dsfsdfsd sf sdf sdf’ ) - всё работает как надо. Я так понимаю что быстрее срабатывает изменение состояния error, чем обновляются данные в самой переменной error и оно рисует пустоту?
источник

K

Kim in React Native — русскоговорящее сообщество
<Fade top collapse when={error}>
  <div>
      {error}
  </div>
</Fade>
источник

K

Kim in React Native — русскоговорящее сообщество
вот собсна для чего все это
источник

K

Kim in React Native — русскоговорящее сообщество
Разобрался через useEffect
источник

BS

Bogdan Shelomanov in React Native — русскоговорящее сообщество
Valentin Galkin
для этого можно использовать Animated.event
я использовал, но не понимаю, скрол запустит анимацию, но я не смогу понять, что сейчас нужно показать или скрыть хедер, это нужно чрез жс считать
источник

BS

Bogdan Shelomanov in React Native — русскоговорящее сообщество
такой вариант был, но тут не покажет хедер, так как нету расчета, когда его показывать, но еще и мигает все
источник

VG

Valentin Galkin in React Native — русскоговорящее сообщество
1. Не совсем понимаю, зачем делать top для scrollview в этом случае, ведь обертка для хедера не спозиционирована абсолютно.

2. Если стоит задача просто прятать хедер, когда пользователь скроллит вверх и показывать его, когда пользователь скроллит вниз, то: хедер у вас будет присутствовать в любом случае. Главной задачей здесь является просто передвинуть его по оси y за пределы экрана. Вам не нужно переопределять состояние компонента каждый раз, когда пользователь взаимодействует со scrollable компонентом. Анимация хедера по оси Y автоматически будет обработана Animated событием.
Если же имеется ввиду другое поведение - уточните, пожалуйста. Может, я не понял чего-то.

3. По поводу мигания компонента и отсутствия хедера ввиду отсутствия расчетов - не понимаю.
источник

AM

Alexsandr Menshikov in React Native — русскоговорящее сообщество
Bogdan Shelomanov
такой вариант был, но тут не покажет хедер, так как нету расчета, когда его показывать, но еще и мигает все
лучше покажи как у тебя в симуляторе выглядит
источник

AM

Alexsandr Menshikov in React Native — русскоговорящее сообщество
Alexsandr Menshikov
лучше покажи как у тебя в симуляторе выглядит
я просто не понял что ты хочешь)
источник

AM

Alexsandr Menshikov in React Native — русскоговорящее сообщество
Alexsandr Menshikov
я просто не понял что ты хочешь)
сейчас у тебя когда ты проскраливаешь скролл на 50 у тебя хедер убегает на 150 вверх
источник

BS

Bogdan Shelomanov in React Native — русскоговорящее сообщество
вот так, если не анимировать вью, но это не правильно, потому что при любом скроле вверх, нужно показать хедер, но я же не запускаю анимацию, а подписку на ивент делаю
источник

BS

Bogdan Shelomanov in React Native — русскоговорящее сообщество
Переслано от Bogdan Shelomanov
источник

BS

Bogdan Shelomanov in React Native — русскоговорящее сообщество
а вот так, если анимировать еще и скролл блок
источник