Можно ли анимировать вид при обновлении состояния в реагировать родной - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть сценарий, в котором я не могу использовать scrollview или flatlist.Пользовательский интерфейс является своего рода мастером, когда я нажимаю «Далее», чтобы переместить пользователя на следующий экран или на предыдущий.В функции рендеринга у меня есть:

<View style={{flex: 1}}>
   <WizardItem data={this.props.currentStep} />
</View>

Компонент WizardItem имеет button, внутри которого обновляется this.props.currentStep, и когда он обновляется в редукторе, он, естественно, обновляется здесь.Но мне нужно анимировать переход, как текущий шаг идет влево, а новый приходит справа и наоборот.Как видите, шаг полностью динамический, поэтому я не могу загрузить его в списки, так как не знаю, пока пользователь не нажмет кнопку «Далее», что является следующим элементом.Но мне нужна эта анимация.Кто-нибудь может подсказать мне, как сделать этот эффект, или я должен перестать думать об этом, если это невозможно?

ОБНОВИТЬНиже приведен пример чего-то похожего, просто нет поворота, просто двигайтесь влево-вправо.Но я не могу использовать представления, где у меня есть список элементов, предопределенных как следующий, а предыдущий шаг в мастере является динамическим.

введите описание ссылки здесь

1 Ответ

0 голосов
/ 13 февраля 2019

Если я правильно понимаю, вы хотите, чтобы перейти на другой экран.Для этого я предлагаю вам использовать LayoutAnimation в React Native.LayoutAnimation позволяет вам анимировать изменения состояния вместо того, чтобы вещи просто исчезали и появлялись.Вы можете сохранить currentStep в состоянии вместо реквизита, и каждый раз, когда состояние изменяется, используйте LayoutAnimation для перехода по своему усмотрению.

В этой статье для создания переходов на экране используется анимация макета

Если переход в состояние из реквизита невозможен или невозможен, вы также можете обнаружить изменения реквизита в мастере и затем использовать анимированные для перемещения макетов.

Сложнопредложить лучший способ, не зная, как настроен мастер или, по крайней мере, его общий макет.Если есть возможность поделиться кодом для Wizard, вам будет проще помочь.

...