Я пытаюсь распечатать только элементы, связанные с пользователем. Поэтому я пытаюсь получить элементы, запрашивая данные у идентификатора пользователя /api/items/:userid
Я использую избыточный магазин
мой код на стороне сервера выглядит следующим образом
router.get("/:userid",(req, res) => {
// Item.find({ "owner.ownerName": `${req.params.userid}`})
Item.find({ "owner.id": `${req.params.userid}`})
.sort({
date: -1,
})
.then((items) => res.json(items));
console.log(req.user)
});
Проблема заключается в моем запросе переднего плана , Я не знаю, как получить идентификатор пользователя внутри ITEMACTION.
import {
GET_ITEMS,
ADD_ITEM,
DELETE_ITEM,
ITEMS_LOADING,
UPDATE_ITEM,
SUBSTRACT_ITEM,
} from "../actions/types";
import { tokenConfig } from "../actions/authActions";
import { returnErrors } from "../actions/errorActions";
import Axios from "axios";
export const getItems = () => (dispatch) => {
// will hit reducer
dispatch(setItemsLoading());
Axios.get("/api/items/")
.then((res) =>
dispatch({
type: GET_ITEMS,
payload: res.data,
})
)
.catch((err) => {
dispatch(returnErrors(err.response.data, err.response.status));
});
};
Я на самом деле пытался получить идентификатор пользователя из хранилища приставок.
import store from '../store';
и внутри getItems
store.getState().auth.user._id
проблема в том, что когда я console.log в getItems, идентификатор пользователя всегда возвращает ноль, кроме первого раза после входа в систему. Но когда я смотрю в Redx Dev Tool. Идентификатор пользователя доступен
как я могу получить идентификатор пользователя