我想将用户重定向到"/myblogs"
页,当他们提交编辑后的帖子.useNavigate
挂钩用于重定向.我收到的不是重定向,而是以下错误.
当我手动查看我的博客页面时,我可以看到更新的帖子.我不知道为什么会发生这个错误
const handleSubmit = e => {
e.preventDefault();
console.log(inputs);
sendRequest().then(data =>
console.log(data).then(() => navigate('/myBlogs/'))
);
};
我的控制台中出现错误
BlogDetail.jsx:51 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'then')
以下是我的完整代码
const BlogDetail = () => {
const navigate = useNavigate();
const [blog, setBlog] = useState();
const id = useParams().id;
console.log(id);
const [inputs, setInputs] = useState({});
const { title, descritpion, imageURL } = inputs;
const handleChange = e => {
setInputs(inputs => ({
...inputs,
[e.target.name]: e.target.value,
}));
};
const fetchDetails = async () => {
const res = await axios
.get(`http://localhost:5000/api/blog/${id}`)
.catch(err => console.log(err));
const data = res.data;
return data;
};
useEffect(() => {
fetchDetails().then(data => {
setBlog(data.blog);
setInputs({
title: data.blog.title,
descritpion: data.blog.description,
imageURL: data.blog.image,
});
});
}, [id]);
const sendRequest = async () => {
const res = await axios
.put(`http://localhost:5000/api/blog/update/${id}`, {
title: inputs.title,
descritpion: inputs.description,
})
.catch(err => console.log(err));
const data = await res.data;
return data;
};
console.log(blog);
const handleSubmit = e => {
e.preventDefault();
console.log(inputs);
sendRequest().then(data =>
console.log(data).then(() => navigate('/myBlogs/'))
);
};