Javascript array.filter不是react组件中的函数

Javascript array.filter不是react组件中的函数,javascript,reactjs,webpack,create-react-app,Javascript,Reactjs,Webpack,Create React App,我正在使用create react app作为我的应用程序的起点。我想在构造函数中使用默认JavaScript功能,如array.map和array.filter等。但只要我运行下面的代码,它就会抛出一个错误 this.state.onlineUsers.filter(function (ele) { return ele.id==4; }); 初始状态为 this.state = { onlineUsers: [] }; 这里是错误 为什么要在构造函数中映射筛选

我正在使用create react app作为我的应用程序的起点。我想在构造函数中使用默认JavaScript功能,如array.maparray.filter等。但只要我运行下面的代码,它就会抛出一个错误

this.state.onlineUsers.filter(function (ele) {
    return ele.id==4;
});
初始状态为

this.state = {
      onlineUsers: []
    };
这里是错误


为什么要在构造函数中映射筛选器,以及console.log(this.state.onlineUsers)的初始状态是什么?你确定它们是数组而不是对象吗?请提供更多的代码,也许组件本身会有所帮助。您在何处调用
this.state.onlineUsers.filter
?该错误可能是由于诸如onlineUsers在ajax调用后不再是对象之类的问题造成的。您可以添加ajax调用吗?您究竟在哪里尝试调用过滤器。您当前的问题没有提供太多相关信息。您应该使用AJAX调用
componentDidMount
查看官方文档以了解更多信息。它与require或import无关,只有当您正在访问的数据结构不是数组时才会抛出这种错误。您可以在使用筛选器之前键入
console.log
onlineUsers,以确保您正在访问阵列。