如何在React Native的.map中调用类函数

时间:2018-05-13 04:26:18

标签: arrays reactjs react-native

我打算在模板中调用类的功能。 这就是我所做的。

class recommendFeedback extends Component<{}>{
    starImgFromRating(tip) { // this function should be called but not.
    // ... some operation with tip.
        return result
    }
    render(){
        return(
            <View style = {styles.container}>
                {
                    this.props.venue.tips.map(function(item) {
                        return <View>
                                    <Thumbnail source = {()=>this.starImgFromRating(item)} />
                                </View>
                    })
                }
            </View>
        )
    }
}

但它不能很好地运作。

2 个答案:

答案 0 :(得分:1)

它应该是source = {this.starImgFromRating(item)},因为您需要在呈现期间评估starImgFromRating要使用的Thumbnail组件的结果。

将函数作为prop值传递通常用于事件处理程序。

您还应该使用map.map((item) => {的箭头功能来避免将this绑定到该函数。

答案 1 :(得分:1)

您可以使用地图功能,如下所示:

            YOUR_ARRAY.map((value, index) => {
             })

另一种方式是:

yourmethodName() {

    YOUR_ARRAY.map((data) => {
      return (
        <View><Text>{data}</Text></View>
      )
    })

}

您可以调用此类方法

{this.yourmethodName()}