Невозможно получить _id из базы данных в реакции с помощью ax ios. для функции удаления - PullRequest
0 голосов
/ 19 июня 2020

Я врезался в стену, мне нужна помощь. Я написал функцию удаления, но она возвращается как undefined, я могу попасть по этому маршруту с бессонницей, передать идентификатор базы данных и без проблем удалить этот элемент из базы данных. Функция попадет в маршрут, и я знаю, что она запускается, но props.match.params.id возвращается как undefined. Я могу без проблем отобразить идентификатор на карте через ax ios .get и путь. Вот код. Любая помощь приветствуется.

 async function deleteThisBug(){
  console.log('Delete button hit')
  const bugId = props.match.params.id
  const res = await axios.delete(`/bugs/${bugId}`);
  setDeleteBug(res.data)
  console.log('bug deleted')

}

(отлично попадает по маршруту в бессоннице и удаляет его)

router.delete('/:id', async (req, res)=>{
try {
    console.log("delete route hit on bugs")
    const deleteBug = await bugModel.findByIdAndDelete(req.params.id);
    console.log('bug ID:', req.params.id)
    res.json(deleteBug);
    console.log("bug deleted ")
} catch (err) {
    res 
    .status(500)
    .json({ error:err.message,})
}

})

моя консоль с вкладка компонентов https://imgur.com/juACHBc

, чтобы отключить это, я вызываю его внутри кнопки с помощью onClick = {deleteThisBug}

Снова приветствуется любая помощь.

1 Ответ

1 голос
/ 19 июня 2020

Итак, глядя на ваш код конкретно:

<Switch>
    <Route exact path='/' component={homepage}/>
    <Route path='/login' component={login}/>
    <Route path='/register' component={register}/>
    <Route path='/user' component={userprofile}/>
    <Route path='/bugs' component={BugsHome}/>
    <Route path='/newbugs' component={NewBug}/>
    <Route path='/viewbugs' component={viewbugs}/>
</Switch>

, вы можете увидеть, что нет пути, такого как <Route path='/bugs/:bugId' component={bugComponent} />, поэтому вы не можете получить доступ к routeProps, как вы props.match.params.bugId.

...