const [image, setImage] = useState({ preview: "", file: "" });
const handleChange = (e) => {
e.preventDefault();
if (e.target.files.length) {
setImage({
preview: URL.createObjectURL(e.target.files[0]),
file: e.target.files[0],
});
}
};
useEffect(() => {
const formData = new FormData();
formData.append("file", image.file);
console.log(formData);
}, [image]);
Run Code Online (Sandbox Code Playgroud)
上面的代码console.log(formData);返回空对象,无法在axios上发送文件
我在我的 React 应用程序中构建了一个简单的书签功能。
const [liked, setLiked] = useState();
const [bookmarked, setBookmarked] = useState();
useEffect(() => {
post.liked ? setLiked(true): setLiked(false);
post.bookmarked ? setBookmarked(true) : setBookmarked(false);
}, []);
useEffect(() => {
axios.post(`${baseURL}/content/like`).then((res) => console.log(res));
}, [liked]);
Run Code Online (Sandbox Code Playgroud)
每当组件被加载它 useEffect 运行两次
仅当状态发生变化时,如何才能避免初始 axios post 和 axios post?
我想在liked状态改变时发送一个 post 请求。