Javascript 即使在绑定函数后也没有定义this.variable?

Javascript 即使在绑定函数后也没有定义this.variable?,javascript,node.js,react-native,react-native-ios,Javascript,Node.js,React Native,React Native Ios,React Native一直说没有定义this.lns,但我已经尝试绑定函数renderButtons。我也研究过多次,他们一直说要添加箭头函数或绑定函数,我似乎已经尝试过了。我不确定我做错了什么 我已经在多个地方尝试过this.renderButtons.bindthis,包括我的组件的构造函数。在这一点上,我不知道该怎么办 以下是错误: 未处理的JS异常:TypeError:TypeError:this.lns未定义 这是菜单文件代码-renderButtons函数似乎引起了问题。 这是课程

React Native一直说没有定义this.lns,但我已经尝试绑定函数renderButtons。我也研究过多次,他们一直说要添加箭头函数或绑定函数,我似乎已经尝试过了。我不确定我做错了什么

我已经在多个地方尝试过this.renderButtons.bindthis,包括我的组件的构造函数。在这一点上,我不知道该怎么办

以下是错误: 未处理的JS异常:TypeError:TypeError:this.lns未定义

这是菜单文件代码-renderButtons函数似乎引起了问题。 这是课程文件代码:

renderButtons功能:

renderButtons(){
    const views = [];

    views.push(
      <Text key="free_label" style={{fontSize: 18}}>Free Fundemental Lessons: </Text>
    );

    for ( var i =0; i<this.lns.free.length; i++){
     views.push(
        <Button
           key={"freeLesson_" + String(i)}
           onPress={() => this.createLessonView.bind(this, () => this.lns.free[i])}
           title={() => this.lns.free[i].title}
           color="#000000"
        />);
        console.log(() => this.lns.free[i].title);
    }

    views.push(
      <Text key={"premiumLabel"} style={{fontSize: 18}}>Premium Lessons: </Text>
    );

    for ( var i =0; i<this.lns.all.length; i++){
      views.push(
         <Button
            key={"premiumLesson_" + String(i)}
            onPress={() => this.createLessonView.bind(this, () => this.lns.all[i])}
            title={() => this.lns.all[i].title}
            color="#841584"
         />);
     }

    return (
      <View style={styles.container}>
        {views}
      </View>
    );
  };
我希望我的应用程序在XCode中的模拟器中输出: 免费基础课程: 此处以按钮形式列出课程 高级课程: 这里有高级课程列表


我对StackOverflow有点陌生,顺便说一下,我的反应是原生的。

在for var I=0中更改var;在snipplet中,我们看到lns设置在哪里了。好的,那么this.lns=LessonHandler.getLessons;在外部源代码中显示它。renderButtons=this.renderButtons.bindthis;两次,去掉rendery中的一个。你不应该绑定render,这是一种生命周期方法。我在pastebin上发布了其余的代码,因为堆栈溢出告诉我不应该在这里发布全部代码。lessons文件并不重要,因为整个错误指向renderButtons函数。谢谢,它确实更改了此错误。lns未定义为无法读取未定义的属性。我现在要再次检查代码。嘿,给你:。为将来创建沙盒的问题示例,而不是复制粘贴。太棒了!谢谢,这确实帮助很大,但是,对于我当前的代码,我有一个新问题,它在菜单中打印出{all:[],free:[]}。它应该像以前一样打印出课程,在我的课程文件中打印出课程。我应该在这里编辑我的帖子还是在StackOverflow上创建一个新的问题?