代码之家  ›  专栏  ›  技术社区  ›  gpbdr13

与世博会互动

  •  -2
  • gpbdr13  · 技术社区  · 6 年前

    我正在用expo框架做一个android应用程序。我是react native的初学者,我需要一些帮助来理解一种奇怪的行为。

    为什么这段代码在编译,而第二段代码没有?我只添加了一个空视图节点。

    render() {
      if (this.state.isLoading) {
        return (
          <View style={{flex: 1, paddingTop: 20}}>
          <ActivityIndicator />
          </View>
        );
      }
    
      return (
        <Text style={styles.getStartedText}>
          Questionary:
        </Text>
      );
    }
    

    不编译时的代码:

    render() {
      if (this.state.isLoading) {
        return (
          <View style={{ flex: 1, paddingTop: 20 }}>
            <ActivityIndicator />
          </View>
        );
      }
    
      return (
        <Text style={styles.getStartedText}>
          Questionary:
        </Text>
    
        <View></View> //because of this !!
      );
    }
    
    1 回复  |  直到 3 年前
        1
  •  2
  •   Arkej    6 年前

    在里面 return 您只能有一个节点,因此需要包装所有节点( Text ,则, View )与父母:

      return (
        <View>
          <Text style={styles.getStartedText}>
            Questionary:
          </Text>
    
          <View></View>
        </View>
      );