renderScene没有显示任何内容

时间:2016-06-16 12:23:03

标签: javascript react-native

在来自renderRow的{​​{1}} ListView文件中,我添加了Navigator,但renderScene

中没有显示任何内容
const item = {};

export default class ListItem extends Component{

  constructor(props){
    super(props);      
    item = this.props.item;
  }

  renderScene(route, navigator){
    return(
      <Text style={{color:'#fff'}}>Test</Text> 
      <Text style={{color:'#fff'}}>{item.title}</Text> 

    )
  }

  render(){
     return(
      <Navigator
          renderScene={this.renderScene}
          navigator={this.props.navigator} />
    ); 
  }

}

当我把所有内容都放在render()中时,它运行正常。如果我console.log() item renderScene对象中的 FirebaseAuth auth = FirebaseAuth.getInstance(FirebaseApp.getInstance()); if (auth.getCurrentUser() != null) { View hview = navigationView.getHeaderView(0); String personName = auth.getCurrentUser().getDisplayName(); String personEmail = auth.getCurrentUser().getEmail(); String personId = auth.getCurrentUser().getUid(); Uri personPhoto = auth.getCurrentUser().getPhotoUrl(); if (personPhoto != null){ ImageView imgView = (ImageView) hview.findViewById(R.id.header_imageView); // Download photo and set to image } } 对象会记录该项目,但它不会显示任何内容。

2 个答案:

答案 0 :(得分:0)

我觉得我在将renderScene抽象到自己的函数中时遇到了类似的问题,就好像导航器无法处理渲染一样。所有文档演示渲染是内联的。你可以做的是在一个单独的函数中卸载渲染,但仍然将其称为内联,就像这样。

render(){
 return(
  <Navigator
      renderScene={(route, navigator) => this.renderScene(route, navigator)}
      navigator={this.props.navigator} />
  ); 
}

答案 1 :(得分:0)

由于您使用的是ES6语法,因此没有自动绑定。您可以使用胖箭头语法并执行以下操作:

renderScene = (route, navigator) => {
  return(
    <View>
      <Text style={{color:'#fff'}}>Test</Text> 
      <Text style={{color:'#fff'}}>{item.title}</Text>
    </View>
  );
}