TypeError:users.map不是函数



我正在处理一个使用map函数的react项目,我使用的是react router dom和redux。当我从mongoose数据库中获取用户时,也出现了这个错误,引发错误的文件是users.js,我的帧崩溃了,代码如下Users.js

import React, { useEffect } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { fetchUsers } from '../../redux/actions/users/userActions';
import Loading from '../Loading/Loading';
const Users = () => {
const dispatch = useDispatch();
useEffect(() => {
dispatch(fetchUsers());
}, [dispatch]);
const usersList = useSelector(state => state.usersList);
const { loading, users, error } = usersList;
console.log(users, loading, error);
return (
<div className='container-fluid'>
<h1 className='text-center m-5'>List of users {users && users.length}</h1>
<hr className='text-white' />
<div className='row text-center justify-content-center'>
{loading ? (
<Loading />
) : (
<>
{users &&
users.map(user => (
<div className='col-lg-3' key={user._id}>
<div className='card'>
<div className='card-body'>
<h5 className='card-title'>{user.name}</h5>
<p className='card-text'>{user.email}</p>
<i className='far fa-address-card h2 text-info'></i>
</div>
</div>
</div>
))}
</>
)}
</div>
</div>
);
};
export default Users;

但是在提交响应时,我得到了以下错误

20 | {loading ? (
21 |   <Loading />
22 | ) : (
> 23 |   <>
| ^  24 |     {users &&
25 |       users.map(user => (
26 |         <div className='col-lg-3' key={user._id}>

有人能帮我整理一下吗?

检查您的users对象。它的默认值可能是定义的,但没有使用空数组(并且您尝试使用映射函数(,或者选择器中的用户在根据服务器响应进行设置后具有不同的(非数组(类型。

相关内容

  • 没有找到相关文章

最新更新