×
INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Contact US

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

React Problem

React Problem

React Problem

(OP)
I have this React.JS code to return list of products:

CODE --> React.JS

import { Route, Switch, useHistory } from 'react-router-dom';
import { CCol, CRow } from "@coreui/react";
import { useState, useEffect } from 'react';
import api from '../../../axrootpath';

function Products() {
  const [products, setProducts] = useState([])

  useEffect(() => {
    const fetchProducts = async () => {
      try {
        const response = await api.get('api/products');
        setProducts(response.data);
{/*The following line returns the correct data set */}
        console.log(products);
      } catch (err) {
        if (err.response) {
          // Not in the 200 response range 
          console.log(err.response.data);
          console.log(err.response.status);
          console.log(err.response.headers);
        } else {
          console.log(`Error: ${err.message}`);
        }
      }
    }

    fetchProducts();
  }, [])

  return (
    <div className="animated fadeIn">
      <CRow>
        <CCol xs={12}>
          <table
            id="productListTable"
            className="table table-striped table-bproductd"
          >
            <thead>
              <tr>
                <th>Product Number</th>
                <th>Description</th>
                <th>Group</th>
                <th>Account Number</th>
                <th>Product Type</th>
                <th>Unit</th>
                <th>Packing Type</th>
              </tr>
            </thead>
            <tbody>{products.map( (products) => {
          return (
            <tr key={products.prt_no}>
              <td>{products.DSCRPT}</td>
              <td>{products.ITEM_GROUP}</td>
              <td>{products.ACC_GROUP}</td>
              <td>{products.MATERIAL}</td>
              <td>{products.UI}</td>
              <td>{products.PU}</td>
            </tr>
          );
          })}</tbody>
          </table>
        </CCol>
      </CRow>
    </div>
  );
}

export default Products; 

This code return the Error:
TypeError: products.map is not a function

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members! Already a Member? Login


Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close