在Javascript / React-Native中将传递参数更新为函数

时间:2017-09-11 08:52:24

标签: javascript reactjs react-native ecmascript-6

在React-Native中尝试这个。

我的功能是:

myFunction(theId = 0) {
  return Object.keys(this.props.posts)
    .filter(/* ADDED FILTER */)
    .map((key, idx) => {
      const post = this.props.posts[key];
      return (
        <View key={idx}>

          <Text>
            { post.theId } - { post.name }
          </Text>

          {this.myFunction(post.theId)}  //THIS IS NOT GETTING EXECUTED

        </View>
      );
    });
}

我将值0传递给theId作为myFunction(theId = 0)但是当我从函数中再次调用它并想要传递返回数据的值时,它无法正常工作。我需要做什么来传递theId的值?我也试过了{this.myFunction(theId=post.theId)}但是没有用。

请帮忙。

1 个答案:

答案 0 :(得分:0)

您永远不会在提供的代码中引用参数变量。

{this.myFunction(post.theId)}

该代码正在对象theId上查找名为post的属性。它没有看到给定的论点。

我认为您真正想要的是致电this.myFunction(post.theId),如果post.theId未定义,则转而使用0?在这种情况下,你会这样写;

{this.myFunction(post.theId || 0)}

你会从函数定义的顶部完全删除参数。