Есть ли способ сохранить id который приходит в ссылку /serve/:id?
Отправляю id нажатием на кнопку
<Button variant="outline-success" onClick={() =>
{
window.location.href='edit';
this.props.getServThunk(m._id);
}}
className="right">Edit</Button>
Айди поподает сюда
const SET_SERV = 'SET_SERV';
let initialState = {
serve:[]
};
switch(action.type) {
case SET_SERV:
return {...state, serve: [...state.serve, ...action.serve]}
default:
return state;
}
export const setServ = (serve) => ({type:SET_SERV, serve});
export const getServThunk = (ServID) => {
return (dispatch) => {
getServis(ServID).then(data =>
{
dispatch(setServ(data));
}
);
}
}
Потом попадает сюда
export const getServis = (ServID) => {
return baseRout.get(`serve/${ServID}`).then(response => {return response.data})
}
и отсюда уже к серверу
const express = require('express');
const router = express.Router();
const DB = require('../DB');
const serve = require("../schemas/servers");
router.get('/serve/:id', (req, res) => {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Headers', 'origin, content-type, accept');
console.log(req.params.id);
serve.find({_id : req.params.id}, (err, serve) => {
console.log(req.params.id);
if(err)
{
throw err;
}
else
{
return res.send(serve)
}
})
});
module.exports = router;
Ответы (1 шт):
Автор решения: KVirB
→ Ссылка
В роуте переделал обработчик запроса:
router.get('/serve/:id', async (req, res) => {
const items = await serve.find({ _id: req.params.id });
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Headers', 'origin, content-type, accept');
res.send(items);
});