【问题标题】:Update passing parameter to function in Javascript/React-Native将传递参数更新为 Javascript/React-Native 中的函数
【发布时间】:2018-02-19 10:58:14
【问题描述】:

在 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>
      );
    });
}

我将值零作为myFunction(theId = 0) 传递给theId 但是当我从函数内再次调用它并想要传递返回数据的值时,它不起作用。我需要在这里做什么来传递 theId 的值?我也试过{this.myFunction(theId=post.theId)},但没用。

请帮忙。

【问题讨论】:

  • @Chris .. 我还在学习 ES6,不知道该怎么做。我试过myFunction = (theId = 0) =&gt; { 但它失败并出现错误undefined is not a function
  • 这是一个错字:&lt;Viewkey={idx}&gt;Viewkey 之间应该有一个空格。
  • 你能多说一下这个函数应该做什么吗?为什么它需要调用自己?也很高兴看到this.props.posts 的一些示例数据。
  • 请比“它不起作用”更具体。描述发生了什么,从控制台粘贴潜在错误。
  • @jonahe .. 其他 theId 不等于 0 的帖子根本不显示。参考问题:stackoverflow.com/questions/46139468/…

标签: javascript reactjs react-native ecmascript-6


【解决方案1】:

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

{this.myFunction(post.theId)}

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

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

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

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

【讨论】:

    猜你喜欢
    • 2020-05-13
    • 2021-09-17
    • 1970-01-01
    • 2017-03-06
    • 2021-04-24
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多