在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)}
但是没有用。
请帮忙。
答案 0 :(得分:0)
您永远不会在提供的代码中引用参数变量。
{this.myFunction(post.theId)}
该代码正在对象theId
上查找名为post
的属性。它没有看到给定的论点。
我认为您真正想要的是致电this.myFunction(post.theId)
,如果post.theId
未定义,则转而使用0
?在这种情况下,你会这样写;
{this.myFunction(post.theId || 0)}
你会从函数定义的顶部完全删除参数。