我正在使用导航器组件.
我有飞溅场景,1秒后下一个场景正在显示.
我需要在启动结束后重置导航堆栈.
当我使用resetTo方法时,场景之间的过渡无需动画.
我该怎么做动画?
您可以使用onDidFocusprop 对某些代码进行解决,并将对象传递navigator.push()给要处理的对象navigator.immediatelyResetRouteStack,如下所示:
renderScene(route, navigator) {
switch (route.name) {
case 'Home':
return (<Home navigator={navigator} {...route.props} />);
case 'User':
return (<User navigator={navigator} {...route.props} />);
}
}
render() {
return (
<View style={styles.container}>
<Navigator
ref='navigator'
initialRoute={{ name: 'Home' }}
renderScene={this.renderScene}
onDidFocus={(route) => {
if (route.reset) {
this.refs.navigator.immediatelyResetRouteStack([{ name: route.name }])
}
}}
/>
</View>
);
}
Run Code Online (Sandbox Code Playgroud)
为了做魔术,你可以称之为navigator.push:
navigator.push({ name: 'Home', reset: true })
Run Code Online (Sandbox Code Playgroud)
它将动画到Home并为您重置堆栈;)
| 归档时间: |
|
| 查看次数: |
2697 次 |
| 最近记录: |