React Native 某些样式导致视图无法呈现

Posted

技术标签:

【中文标题】React Native 某些样式导致视图无法呈现【英文标题】:React Native some style causes view to not render 【发布时间】:2016-10-05 15:23:55 【问题描述】:

嗨,我是 React Native 的新手,正在尝试使用它创建一个 android 应用程序。如果我更改视图的样式->(backgroundColor 或borrderBottom),它就不会渲染。任何地方都没有错误,但是在重新加载 js 包时,视图及其所有子视图都无法呈现。除了解决这个特定问题之外,我更感兴趣的是了解为什么会发生这种情况,或者我是否遗漏了什么。我的整个组件在下面

import React from 'react';
import  StyleSheet, View, Text, PixelRatio, TextInput  from 'react-native';

const styles = 
  container: 
    paddingTop: 70,
    flex: 1,
    justifyContent: 'flex-start',
    alignItems: 'flex-start',
    backgroundColor: '#fff',
  ,
  form: 
    flex: 1,
    flexDirection: 'column'
  ,
  rowContainer: 
    //backgroundColor: '#000',
  ,
  row: 
    flexDirection: 'row',
    height: 44,
    alignItems: 'center',
  ,
  inputLabel: 
    fontSize: 15,
    paddingLeft: 15,
    color: '#333'
  ,
  textInputStyle: 
    fontSize: 15,
    flex: 1,
    paddingLeft: 15
  
;

export default function TestComponent(props) 
  return (
    <View style=styles.container>
      <Text> Inside Container </Text>
      <View style=styles.form>
        <Text> Inside Form </Text>
        <View style=styles.rowContainer >
          <Text> Inside Row Container </Text>
          <View style=styles.row>
            <Text numberOfLines=1 style=styles.inputLabel> Bid On </Text>
            <TextInput />
          </View>
        </View>
      </View>
    </View>
  );

上面的代码完美运行并且所有组件都被渲染了,但是如果我更改rowContainer 样式并取消注释backgroundColorrowContainer 并且它的所有子组件都不会被渲染。我不知道为什么会这样。我还尝试了 rowContainer 中的其他样式,例如

rowContainer: 

   flex: 1,
   flexDirection: 'column',
   backgroundColor: '#000'
   borderBottomWidth: 1,
   borderColor: '#c8c7cc'
  

只要rowContainer 样式为空,它就可以工作,如果我在其中添加任何内容,视图根本不会呈现。

【问题讨论】:

【参考方案1】:

默认文本颜色为黑色,rowContainers backgroundColor 设置为“#000”。所以它看起来没有被渲染。

【讨论】:

以上是关于React Native 某些样式导致视图无法呈现的主要内容,如果未能解决你的问题,请参考以下文章

react-native 中的组件样式在应用程序中呈现不一致

React Native - 图像将文本推出屏幕 - 用第三个视图修复?

响应高度/宽度样式的 React Native 自定义 iOS 视图

应用程序试图在 React Native Objective-C 扩展中的目标上呈现一个 nil 模态视图控制器

React Native ListView 不会通过单击重新呈现状态更改

react-native-web 更新:TypeError:无法读取未定义的属性“样式”