Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    561

    [React] Problema con map nella visualizzazione di dati acquisiti da un server remoto

    Buongiorno,

    sto cercando di visualizzare dei dati acquisiti da un server remoto in forma tabellare.
    Per questo mi sono creato un componente ListEmployeeComponent, ma ottengo in fase di compilazione l'errore: map non è una funzione. Non ne capisco il motivo.

    codice:
    import React,{useState, useEffect} from 'react';
    import EmployeeService from '../services/EmployeeService';
    import {useParams,  useNavigate } from 'react-router-dom';
    
    const ListEmployeeComponent=()=>{
        const[employees,setEmployees]=useState([]);
        const params = useParams();
        console.log(params.id);
        
        useEffect(()=>{
           
            EmployeeService.getEmployees().then(result =>{
             setEmployees(result);
             console.log("Risultato ottenuto dalla fetch", result);
            })
        },[])
    
    
    
        
        return (
            <div>
                 <h2 className="text-center">Employees List</h2>
                 <div className = "row">
                    <button className="btn btn-primary" onClick=""> Add Employee</button>
                 </div>
                 <br></br>
                 <div className = "row">
                        <table className = "table table-striped table-bordered">
    
                            <thead>
                                <tr>
                                    <th> Employee First Name</th>
                                    <th> Employee Last Name</th>
                                    <th> Employee Email Id</th>
                                    <th> Actions</th>
                                </tr>
                            </thead>
                            <tbody>
                                {
                                    employees.map(
                                        employee => 
                                        <tr key = {employee.id}>
                                             <td> {employee.firstName} </td>   
                                             <td> {employee.lastName}</td>
                                             <td> {employee.emailId}</td>
                                             <td>
                                                 <button onClick="" className="btn btn-info">Update </button>
                                                 <button style={{marginLeft: "10px"}} onClick="" className="btn btn-danger">Delete </button>
                                                 <button style={{marginLeft: "10px"}} onClick="" className="btn btn-info">View </button>
                                             </td>
                                        </tr>
                                    )
                                }
                            </tbody>
                        </table>
    
                 </div>
    
            </div>
        )
    
    }
    
    export default ListEmployeeComponent;
    
    
    Qualcuno mi può aiutare?
    Grazie
    Tulipan

  2. #2
    Utente di HTML.it L'avatar di ninja72
    Registrato dal
    May 2020
    residenza
    -
    Messaggi
    319
    Ho provato il tuo codice e sembra funzionare, anche se ho dovuto ricreare la parte dell'EmployeeService catturando i dati direttamente da un file data.json e non da un endpoint definito.
    Il problema sembra essere proprio nella fetch, assiscurati che il dato ritornato sia un array di oggetti altrimenti map non verrà riconosciuto su quel tipo di dato.

    su result cosa ottieni ?

    codice:
    console.log("Risultato ottenuto dalla fetch", result);

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.