【发布时间】:2018-09-05 04:45:39
【问题描述】:
我正在尝试在下图中为我的应用制作 UI:
我按照 React Navigation 的说明根据 UI 制作了Custom Navigator,但它在 Android 中不起作用。出现红色屏幕并显示消息“无法将没有 YogaNode 的子代添加到没有测量功能的父代”。这是我的代码:
import React, { Component } from 'react';
import { createStackNavigator } from 'react-navigation';
import TabAboutScreen from './TabAbout';
import TabMyLessonScreen from './TabMyLesson';
import TabTeacherScreen from './TabTeacher';
import { ScrollView, View, Text } from '../../../components';
import TabNavigator from './TabNavigator';
import TopBar from './TopBar';
import styles from './styles';
import CourseHeader from './CourseHeader';
import theme from '../../../theme';
import i18n from '../../../i18n';
export const CourseDetailStackNavigator = createStackNavigator({
TabAbout: TabAboutScreen,
TabMyLesson: TabMyLessonScreen,
TabTeacher: TabTeacherScreen,
}, {
headerMode: 'none',
initialRouteName: 'TabAbout',
});
export default class TabCourseDetail extends Component {
static router = CourseDetailStackNavigator.router;
constructor(props) {
super(props);
this._handleOnBackButtonPress = this._handleOnBackButtonPress.bind(this);
}
_handleOnBackButtonPress() {
// do something
}
render() {
return (
<View style={styles.container}>
<TopBar textButton={i18n.t('CMBack')} title={i18n.t('CDCourseDetail')} onPress={this._handleOnBackButtonPress} />
<ScrollView
style={styles.scrollContainer}
stickyHeaderIndices={[1]}
showsVerticalScrollIndicator={false}
alwaysBounceVertical={false}
>
<CourseHeader />
<TabNavigator />
<View style={styles.test}>
<CourseDetailStackNavigator navigation={this.props.navigation} />
</View>
</ScrollView>
</View>
);
}
}
我的环境:react-navigation:2.12.1,react-native:0.55.4 我发现问题是我按照反应导航的文档放入了组件内部。它在 iOS 中运行良好,但在 Android 中无法运行。 你有没有遇到过这个问题。我期待着您的解决方案。最好的尊重。
【问题讨论】:
-
您使用的是
react和react-native的哪个版本? -
您是否有一个组件包含不使用
<Text>String</Text>标签换行的文本字符串? -
@RaviRupareliya 反应:16.3.1,反应原生:0.55.4
-
@arufian 我检查了所有组件,所有文本字符串都用
包裹
标签: react-native react-navigation