从reactjs redux中的mongodb获取集合长度

从reactjs redux中的mongodb获取集合长度,reactjs,mongodb,redux,Reactjs,Mongodb,Redux,我想在react with redux中显示mongodb中的集合长度 这是我的密码: 行动: carActions.js export const howMany = () => async (dispatch) => { try { dispatch({ type: CAR_NUMBER_REQUEST }) const { data } = await axios.get('/api/cars') dispatch({ type: CAR_NUMBE

我想在react with redux中显示mongodb中的集合长度

这是我的密码:

行动:

carActions.js

export const howMany = () => async (dispatch) => {
try {
    dispatch({ type: CAR_NUMBER_REQUEST })

    const { data } = await axios.get('/api/cars')

    dispatch({ type: CAR_NUMBER_SUCCESS, data })
} catch (error) {
    dispatch({
        type: CAR_NUMBER_FAIL, payload: error.message})
}
export const carNumberReducer = (state = { cars: [] }, action) => {
switch (action.type) {
    case CAR_NUMBER_REQUEST:
        return { loading: true, cars: [] }
    case CAR_NUMBER_SUCCESS:
        return { loading: false, success: true, cars: action.payload }
    case CAR_NUMBER_FAIL:
        return { loading: false, error: action.payload }
    default:
        return state
}
const dispatch = useDispatch()

const carNumber = useSelector(state => state.carNumber)
const { cars } = carNumber
useEffect(() => {
    dispatch(howMany());
}, [dispatch])
return (
        <div>
            {cars.map((cars) => (
                <p key={cars._id}>{cars}</p>
            ))}
        </div>)}
}

减速器:

carReducer.js

export const howMany = () => async (dispatch) => {
try {
    dispatch({ type: CAR_NUMBER_REQUEST })

    const { data } = await axios.get('/api/cars')

    dispatch({ type: CAR_NUMBER_SUCCESS, data })
} catch (error) {
    dispatch({
        type: CAR_NUMBER_FAIL, payload: error.message})
}
export const carNumberReducer = (state = { cars: [] }, action) => {
switch (action.type) {
    case CAR_NUMBER_REQUEST:
        return { loading: true, cars: [] }
    case CAR_NUMBER_SUCCESS:
        return { loading: false, success: true, cars: action.payload }
    case CAR_NUMBER_FAIL:
        return { loading: false, error: action.payload }
    default:
        return state
}
const dispatch = useDispatch()

const carNumber = useSelector(state => state.carNumber)
const { cars } = carNumber
useEffect(() => {
    dispatch(howMany());
}, [dispatch])
return (
        <div>
            {cars.map((cars) => (
                <p key={cars._id}>{cars}</p>
            ))}
        </div>)}
}

将在此处显示:

carScreen.js

export const howMany = () => async (dispatch) => {
try {
    dispatch({ type: CAR_NUMBER_REQUEST })

    const { data } = await axios.get('/api/cars')

    dispatch({ type: CAR_NUMBER_SUCCESS, data })
} catch (error) {
    dispatch({
        type: CAR_NUMBER_FAIL, payload: error.message})
}
export const carNumberReducer = (state = { cars: [] }, action) => {
switch (action.type) {
    case CAR_NUMBER_REQUEST:
        return { loading: true, cars: [] }
    case CAR_NUMBER_SUCCESS:
        return { loading: false, success: true, cars: action.payload }
    case CAR_NUMBER_FAIL:
        return { loading: false, error: action.payload }
    default:
        return state
}
const dispatch = useDispatch()

const carNumber = useSelector(state => state.carNumber)
const { cars } = carNumber
useEffect(() => {
    dispatch(howMany());
}, [dispatch])
return (
        <div>
            {cars.map((cars) => (
                <p key={cars._id}>{cars}</p>
            ))}
        </div>)}
const dispatch=usedpatch()
常量carNumber=useSelector(state=>state.carNumber)
常数{cars}=carNumber
useffect(()=>{
分派(多少个());
}[快讯])
返回(
{cars.map((cars)=>(

{cars}

))} )}
哪里有错误?我已经用一个图片更新了这篇文章,如果你能看到它的话,你会大摇大摆吗?您能测试Api返回的集合是否正确吗?我在postman上测试了它,它正常工作。您是否配置了CORS?