Серверная часть
Всякий раз, когда я запрашиваю, независимо от того, что я передаю, он показывает {id: 't'} на сервере
app.get("/get_test?:id", (req, res) => {
console.info(req.params.id);
res.send(req.params);
})
// client side code
fetch("/get_test?" + props.id)
.then(res => res.json())
.then(data => {console.info("Data from server: ",data)})
.catch(err => console.info(err))





Если вы хотите получить параметры запроса, просто используйте запрос (не параметры)
app.get("/get_test?:id", (req, res) => {
console.info(req.query.id);
res.send(req.query);
})
или используйте параметры, но URL будет другим
app.get("/get_test/:id", (req, res) => {
console.info(req.params.id);
res.send(req.params);
})
Вы не указали имя параметра запроса в URL-адресе
fetch("/get_test?id = " + props.id) // here
.then(res => res.json())
.then(data => {console.info("Data from server: ",data)})
.catch(err => console.info(err))
А также на стороне сервера вы не должны формировать обработчик получения таким образом, потому что вы смешиваете параметры пути и параметры запроса.
app.get("/get_test", (req, res) => { // here do not use the ?:id
console.info(req.query.id);
res.send(req.query);
})