调用函数内部返回另一个函数

时间:2018-01-24 11:50:00

标签: reactjs react-native

我正在使用React Native,我需要在render()中返回函数mapObject中调用函数test(),这是最好的方法吗?现在我得到teste()不是函数。

您可以在此处查看代码:

mapObject(object_, callback) {
    if(object_)
    {
        return object_.map(function (key) {
            return callback(key);
        });
    }
}

test(v1, v2){
    var t = v1-v2
    return t
}

render() {
    return (
        <View>
        {this.mapObject(this.state.JSONreturn, function (key, value) {
          return (
          <Text>{key.number1}  / {this.test(key.number1, key.number2)</Text>
          )
        })}
        </View>
    )
}

1 个答案:

答案 0 :(得分:0)

因为你试图从地图函数中调用它,你需要使用箭头函数或将'this'作为函数的第二个参数:

return object_.map(function (key) {
            return this.callback(key);
        }, this);

或:

return object_.map((key) => {
            return callback(key);
        });