react-navigation中如何通过navigation.push正确弹出模态框
navigation.push 原生支持推入模态框页面,完全可以实现多次推入同一个模态框的堆叠交互,不存在API层面的能力限制。
模态框效果失效根因
模态框展示效果丢失是因为此前将对应页面的animationEnabled配置项设置为false。该配置关闭后会直接禁用所有页面切换动画,模态框特有的底部滑入动效、层级视觉差都会被跳过,最终呈现效果和普通页面推入无差异,看起来就像模态框失效。
正确配置参考
- 首先在栈导航的路由配置中,把需要以模态框形式展示的页面的
presentation字段设置为modal,否则页面会默认按照普通栈页面规则渲染,不会具备模态框的基础样式。 - 不要将模态页面的
animationEnabled设为false,如果需要调整模态动画的样式、时长,可通过自定义动画插值、配置动画相关参数实现,不要直接全局关闭动画开关。 - 多次推入同一路由模态框时,
navigation.push的逻辑和推入普通页面完全一致,会按照调用顺序在栈顶依次叠加新的模态实例,不需要额外做特殊处理。
内容的提问来源于stack exchange,提问作者Lucas peret
相关产品推荐
相关产品推荐

