【问题标题】:React Navigation: "Cannot Add a child that doesn't have a YogaNode to a parent without a measure function" when using Custom NavigatorsReact Navigation:使用自定义导航器时,“无法将没有 YogaNode 的子代添加到没有测量功能的父代”
【发布时间】:2018-09-05 04:45:39
【问题描述】:

我正在尝试在下图中为我的应用制作 UI:

My App's 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 中无法运行。 你有没有遇到过这个问题。我期待着您的解决方案。最好的尊重。

【问题讨论】:

  • 您使用的是reactreact-native 的哪个版本?
  • 您是否有一个组件包含不使用&lt;Text&gt;String&lt;/Text&gt; 标签换行的文本字符串?
  • @RaviRupareliya 反应:16.3.1,反应原生:0.55.4
  • @arufian 我检查了所有组件,所有文本字符串都用 包裹

标签: react-native react-navigation


【解决方案1】:

请确保您没有在返回方法中留下任何注释代码,也没有留下任何没有 React Native 的 Text 标签的文本(字符串)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-02
    • 2018-07-11
    • 2018-06-29
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 2019-01-19
    相关资源
    最近更新 更多