在React 中有这样的生产。我希望用户删除他们分享的帖子。我这样做:
- 当用户登录时,我将用户 ID 保留为 cookie。
- 我得到的用户的用户名相当于数据库中捕获的id的id-HaoAsk 我
- 用我收到的用户名检查分享帖子的用户的用户名
- 如果相等,我允许用户使用 setOwner。
但它进入了一个无休止的循环。
const user = response.data.filter((dataItem) => (dataItem._id === userid));
const userNickname = JSON.stringify(user.map((value) => { return value.nickName }))
const nickName = userNickname.slice(2, -2)
const deneme1 = posts.filter( (data) => (data.who === nickName))
deneme1 ? setOwner([{ who: nickName, status: true}]) : setOwner([{ status: false }])
console.log(owner)
当我使用以下代码时,我使用 console.log 编写的所有内容都进入无限循环。我想不通。
deneme1 ? setOwner ([{who: nickName, status: true}]): setOwner ([{status: false}])
提前感谢,你的!
对于任何功能组件,您通常希望确保不要在事件函数之外使用set
。
在您的情况下,
const onClick = e => {
// safe to use set method
setOwner()
}
return (
<Component onClick={onClick} user={user} />
)
因为功能组件内的所有内容都在渲染周期内。它将在react
尝试刷新显示时运行。在您的情况下,您可以设置一个触发渲染的状态变量,然后设置变量,然后设置无限圆:)
这意味着您必须在初始化组件后找出一个事件。在您的情况下,这有点棘手,因为您希望立即自动为您调用此事件。
请参考这样的东西,如何使用 React useEffect 调用加载函数一次