我使用的是 createStackNavigator
. 我有三个屏幕。A、B、C
B屏使用 两次 在我过渡期间。我用的是这个符号。
B(1)
: 第一次我们用一些参数转到屏幕B的时候。
B(2)
: 第二次,我们转到屏幕B 不同 参数
考虑这个过渡。
A --> B(1) --> C --> B(2)
当前行为:
当我从屏幕上转过来时 A
到 B(1)
, B(1)
到 C
每次出现新的屏幕时,都会出现一个动画,来自于 从右到左. 但当我从 C
到 B(2)
画面中出现了新的画面,从 从左到右. (问题1)
当我在 B(2)
并使用 navigation.goBack()
我明白了 A
(但我想看看 C
(当然)(第2期)
预期行为:
当我从 C
到 B(2)
新屏幕必须从 从右到左 (和以前的过渡一样)
当我在 B(2)
并使用 navigation.goBack()
我一定要看看 C
System:
OS: macOS 10.15.3
CPU: (4) x64 Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz
Memory: 246.99 MB / 8.00 GB
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 12.13.1 - ~/.nvm/versions/node/v12.13.1/bin/node
npm: 6.12.1 - ~/.nvm/versions/node/v12.13.1/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1
Android SDK:
API Levels: 28, 29
Build Tools: 28.0.3, 29.0.2
System Images: android-28 | Google APIs Intel x86 Atom, android-29 | Google APIs Intel x86 Atom
IDEs:
Android Studio: 3.5 AI-191.8026.42.35.5977832
Xcode: 11.3.1/11C504 - /usr/bin/xcodebuild
npmPackages:
react: 16.9.0 => 16.9.0
react-native: https://github.com/expo/react-native/archive/sdk-36.0.1.tar.gz => 0.61.4
"react-navigation": "^4.3.7",
"react-navigation-stack": "^1.10.3",
要解决 "当我从C过渡到B(2)时,新的屏幕必须从右到左出现(像以前的过渡) "在屏幕C中使用这个代码来导航 。
// this pushes B into the stack insted of navigating to B
() => navigation.push('B')
这个 "当我在B(2)上使用navigation.goBack()时,我必须看到C "的问题已经解决了,因为使用push insted of navigate的堆栈顺序是正确的,所以你的堆栈预览屏幕将是C。