- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在 Android 中创建一个 React Native 应用。
我的 renderView 方法有一个条件,但逻辑似乎没有意义。下面的代码是我的 render 和 renderView 方法。我不明白的是下面的 renderView 方法:
renderView: function(route, navigator) {
if (route.id === 'VaquinhaView') {
return (
<VaquinhaView openDrawer={this.openDrawer} navigator={navigator} />;
)
} else if (route.id === 'HomeView') {
return (
<HomeView openDrawer={this.openDrawer} />
);
}
},
render: function() {
var _renderView = this.renderView;
var _changeView = this.changeView;
return (
<DrawerLayoutAndroid
drawerWidth={deviceWidth - 50}
ref={'SIDE_MENU'}
drawerPosition={DrawerLayoutAndroid.positions.Left}
renderNavigationView={() => <NavigationView changeView={_changeView} />}>
<Navigator
ref={'NAV'}
initialRoute={{
id: 'HomeView',
component: HomeView
}}
configureScene={() => Navigator.SceneConfigs.FloatFromRight}
renderScene={(route, navigator) => _renderView(route, navigator)}>
</Navigator>
</DrawerLayoutAndroid>
);
}
如果我将 route.id 作为“VaquinhaView”传递,它会返回 HomeView 组件。我从未见过这样的有条件的行为。如果我跨过一行,它会跳到下面。屏幕截图:
我知道它不是递归调用方法(我已经检查过了),我试过用纯 JS 而不是 JSX 来编写它。
编辑 2(根据要求):
changeView: function(route) {
this.renderView(route, this.refs['NAV']);
this.closeDrawer();
},
调用者:
_this.props.changeView({id: rowData.view});
(rowData.view是一个字符串名称的 View )
最佳答案
所以,
事实证明,我不认为我打算直接调用 renderView(),而是让 Navigator 这样做。这解决了主要问题。
此时值得记住的是,被解释的JS首先被转换,所以事件虽然看起来条件满足了,但它仍然在'else' block 中,你可能没有看代码正在被解释。
关于javascript - React Native Navigator renderView 返回条件不合逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33892924/
如何在 symfony 命令内(不在 Controller 内)使用 $this->renderView ?我对函数“renderView”不熟悉,但是我必须设置什么才能在命令中使用它? 预先感谢您的
我正在 Android 中创建一个 React Native 应用。 我的 renderView 方法有一个条件,但逻辑似乎没有意义。下面的代码是我的 render 和 renderView 方法。我
我正在我的新 Symfony 4 应用程序中创建一个电子邮件服务。 我已经尝试了一百万件事,但没有运气。目前我只能为 S4 找到一些关于这个主题的资源。感谢您的帮助。 这就是我想要实现的目标。我知道我
我正在使用 sails 辅助方法 sails.renderView 将 View 呈现为字符串,然后在电子邮件中使用该字符串,如下所示: sails.renderView('emails/bookin
我是一名优秀的程序员,十分优秀!