这是一个非常常见的应用程序用户体验设计模式,我试图弄清楚如何在React Native中实现这一点:
默认情况下,当用户切换标签时,React Navigator
组件想要重新渲染每个场景。这有两个缺点:
我使用以下组件布局作为导航器模式:
P.S。我知道React的通量/路由模式更喜欢重新渲染场景,因为它更喜欢在一个路由状态对象中完全捕获UX状态,但在这种情况下我真的想避免重新渲染面板的缺点因为它创建了一个更糟糕的用户界面.... Instagram是一个应用程序的例子,可以无缝地执行此操作。
答案 0 :(得分:3)
如果您正在推动和弹出场景,它将重新渲染它们。
要避免这种情况,您可以从导航器的initialRouteStack属性中指定的所有场景开始,然后使用导航器的jumpTo(route)方法在它们之间进行转换,而无需卸载和重新渲染。这应该保留所有场景的当前状态。
答案 1 :(得分:1)
默认情况下,当用户切换标签时,React Navigator组件想要重新渲染每个场景。
这是从哪里来的?我在类似的模式中使用Navigator
,而secenes是"坚持"。我不知道什么是错的,因为这里没有代码(也许你重新渲染Navigator
?),但接缝react-native-scrollable-tab-view会对你的例子有所帮助情况下。