我可能在这里错过了文档中的内容。
react-native-router-flux
是否允许带有组件的父场景,这会通过它渲染子场景?
在代码中说,对于此路由:
<Scene key="home" component={ApplicationRoot}>
<Scene key="settings" component={Settings} />
</Scene>
ApplicationRoot
组件
class ApplicationRoot extends React.Component {
constructor() { .. }
render() {
return(
<View>{this.props.children}</View>
);
}
}
将Settings
传递到此处。
这个想法是我可以在ApplicationRoot
内设置生命周期函数来处理应用程序级功能(比如检查登录,监听注销等),这将适用于所有嵌套路由。
如果通过包装父组件无法做到这一点,是否有人知道实现此目的的方法?
答案 0 :(得分:0)
在官方代码库中example之后,我已经选择了切换台解决方案;根初始组件(始终设置为// mozfullscreenerror event handler
function errorHandler() {
alert('mozfullscreenerror');
}
document.documentElement.addEventListener('mozfullscreenerror', errorHandler, false);
// toggle full screen
function toggleFullScreen() {
if (!document.fullscreenElement && // alternative standard method
!document.mozFullScreenElement && !document.webkitFullscreenElement) { // current working methods
if (document.documentElement.requestFullscreen) {
document.documentElement.requestFullscreen();
} else if (document.documentElement.mozRequestFullScreen) {
document.documentElement.mozRequestFullScreen();
} else if (document.documentElement.webkitRequestFullscreen) {
document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
}
} else {
if (document.cancelFullScreen) {
document.cancelFullScreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
}
}
// keydown event handler
document.addEventListener('keydown', function(e) {
if (e.keyCode == 13 || e.keyCode == 70) { // F or Enter key
toggleFullScreen();
}
}, false);
),它将负责检查(在我的情况下)Redux状态并路由到相关页面。
我没有完全按照我的目标行事,因为它无法在应用程序级别听取状态,但它确实能够完成工作。