假设,在一个应用程序中有ViewProfile组件,我们打开这个组件,我们看到喜欢这个打开的配置文件的用户列表。我们单击一个 AnotherUser34(使用相同的 ViewProfile 组件)并查看他的个人资料和喜欢他的用户,然后再次单击/打开 91AnotherUser,然后我们再打开 10 个配置文件,依此类推。如何为每个功能恢复功能?当我按回视图配置文件组件时,它会返回到选项卡栏组件。我希望它以打开组件的方式返回。
我想拥有像Instagram一样的背部功能。
请建议,一个小提示就可以完成了这项工作,谢谢。
以下是我的场景结构(具体来说:https://github.com/bartonhammond/snowflake/blob/master/src/snowflake.js)
<Router>
<Scene key='root' hideNavBar>
<Scene key='login'/>
<Scene key='register'/>
<Scene key='Tabbar'>
<Scene key='Main'>
<Scene key='ViewProfile'/>
</Scene>
<Scene key='Nav2'/>
<Scene key='NavMenu3'/>
<Scene key='NavMenu4'/>
</Scene>
</Router>
这是"克隆"场景的确切用例。
从https://github.com/aksonov/react-native-router-flux/blob/master/docs/API.md:
标有克隆的场景将被视为模板,并在推送时克隆到当前场景的父场景中。请参阅示例。
您可以使用类型"推送"功能来实现这一点。
当你调用 Actions.ViewProfile() 时,它会添加到导航堆栈中。
我不是100%确定,我现在无法测试它。但我认为它会奏效。
您可以在此处查看文档。(转到文档中的场景。
<Router>
<Scene key='root' hideNavBar>
<Scene key='login'/>
<Scene key='register'/>
<Scene key='Tabbar'>
<Scene key='Main'>
<Scene key='ViewProfile' type="push"/>
</Scene>
<Scene key='Nav2'/>
<Scene key='NavMenu3'/>
<Scene key='NavMenu4'/>
</Scene>
</Router>
如果需要以编程方式:
Actions.ViewProfile({type: 'push'});