【发布时间】:2022-01-05 14:01:10
【问题描述】:
我正在制作一个喜欢和不喜欢帖子数据来自后端的帖子的功能
const blog = {
likeStatus: false
}
const [liked, setLiked] = useState(blog.likeStatus);
const likeAPI = (status) => {
console.log(status);
}
useEffect(() => {
let status = liked ? 'LIKE' : 'DISLIKE';
likeAPI(status); // API for liking and disliking a post
}, [liked])
return (
<div className="App">
<button style={{backgroundColor: liked ? 'green' : 'white'}}
onClick={() => setLiked(!liked)}
>
Like
</button>
</div>
);
这是功能的代码
我只想在单击 button 之类时运行 useEffect,但 useEffect 最初也运行并且类似状态发送到后端导致错误数据
有人可以帮我解决这个问题吗?
任何其他逻辑表示赞赏
【问题讨论】:
-
您应该将 useEffect 的主体提取为一个单独的函数,然后从 useEffect 和 onClick 中调用它。
标签: reactjs use-effect