2015-10-05 49 views
1

如何渲染一个函数,其中包含一个视图的原生答案?我得到的是一个空白屏幕如何渲染一个包含视图的函数,其反应原生?

这并不工作:

class App extends React.Component { 
     render() { 
      return (
       <View style = { styles.container }> 
        {this._renderMapView.bind(this)} 
       </View> 
      ); 
     } 

     _renderMapView() { 
      return <MapView style = { styles.mapView } </MapView> 
     } 
    } 

这工作:

class App extends React.Component { 
     render() { 
      return (
       <View style = { styles.container }> 
        <MapView style = { styles.mapView } </MapView> 
       </View> 
      ); 
     } 
    } 

回答

3

试试这个。不使用bind(this)

<View style = { styles.container }> 
    {this._renderMapView()} 
</View> 

或者使用bind(this),如:

<View style = { styles.container }> 
    {this._renderMapView.bind(this)()} 
</View> 

因为你调用一个函数。

1

也许是因为_renderMapView没有返回什么?

_renderMapView() { 
      return <MapView style = { styles.mapView } </MapView> 
} 
+0

我确实没有退货。 – phongyewtong

0

试试这个,在返回_renderMapView失踪():

class App extends React.Component { 
    render() { 
     return (
      <View style = { styles.container }> 
       {this._renderMapView.bind(this)} 
      </View> 
     ); 
    } 

    _renderMapView() { 
     return (<MapView style = { styles.mapView } </MapView>); 
    } 
} 
0

最后得到的答案删除绑定,并添加回报();

谢谢大家!

class App extends React.Component { 
    render() { 
     return (
      <View style = { styles.container }> 
       {this._renderMapView()} 
      </View> 
     ); 
    } 

    _renderMapView() { 
     return (
      <MapView style = { styles.mapView } </MapView> 
     ); 
    } 
} 
相关问题