此问题在此处已有答案:
useRouter/withRouter receive undefined on query in first render(8个答案)
26天前关闭。
我使用nextjs作为前端,CodeIgniter作为后端来创建crud。我正在学习一个教程,其中前端是reactjs。在reactJs中,当crud的更新部分到来时,我们可以使用react-router-dom useParam函数来获取ID,但在nextJS中,我们使用router.query,它不起作用,因此我现在陷入了如何获取特定列的ID以更新它的困境
const { id } = router.query;
const getProductById = async () => {
// if (id !== undefined && id != null && id > 0) {
const response = await axios.get(`http://localhost:8080/companies/${id}`);
setName(response.data.name);
setCreatedBy(response.data.createdBy);
console.log(id);
// }};
这是我正在使用的代码,它给出了一个错误
`http://localhost:8080/companies/undefined`
2条答案
按热度按时间nnsrf1az1#
您可以query.id在服务器端获取www.example.com,然后将其传递给客户端
现在,
id
作为prop传递给客户端:sqxo8psd2#
路由器查询在静态优化页面的第一次呈现时可以为空。请尝试将代码 Package 在
useEffect
中