[Fixed] req.users undefined react express

Issue

so im getting an undefined response when fetching my api and i really dont know why

this is the function calls in the component

const init = usersId => {
   
    
    getUser(usersId).then(data => {
        if (data.error) {
            setValues({ ...values, error: data.error });
        } else {
            // populate the state
            setValues({
                ...values,
                username: data.username,
                email: data.email,
               
                formData: new FormData()
            });
            
        }
    });
};

this is the api call in react

export const getUser = usersId => {
    console.log('ok')
    console.log(usersId)
    
    return fetch(`${API}/users/${usersId}`, {
        method: 'GET'
    })
        .then(response => {
            return response.json();
        })
        .catch(err => console.log(err));
        
};

at this point im getting the user id correctly but when the fetch is running i get an error that i cant read property of undefined so, there is the express server endpoint

router.get('/users/:usersId',
        read_);

and here is the controller

userCtrl.read_ = (req, res) => {

    console.log(req.users)
    console.log('test')
    return res.json(req.users);
};

i really dont know what im doing wrong at this point

Solution

if you want req.user you’ll have to find user from id.
you can get id by req.params.userId
after getting userdata from database assign user object to req.user

like this: req.user = user;
then you can access req.user

Leave a Reply

(*) Required, Your email will not be published