【发布时间】:2020-10-28 21:35:49
【问题描述】:
React.useEffect(
() => {
const users = [
{id:123123123,
name:"mert",
del: <deleteButton onClick={()=>console.log(users)} />
}]
setusers(users)
}, [])
你好,我有问题 我创建了一个名为 [users, setusers] 的 useState 在使用效果上,我为每个用户分配了一个删除功能。 此删除功能需要达到用户状态
但问题从这里开始。当我想通过删除功能接触到用户时, 我得到了状态的初始状态,(我创建第一个用户对象时的状态)
【问题讨论】:
-
嗨!您能否提供问题中完整组件的代码?我认为多看一些代码会对我们有所帮助。
-
根据您的描述,您似乎正在隐藏
users变量,即useEffect中的初始users数组用于onClick,而不是从返回的usersuseState。简而言之,您应该将const users =[...]重命名为其他名称,例如const initalUsers = [...]或完全删除该变量并执行setusers([...])。 -
这是另一个陈旧的关闭问题。在另一个问题上查看my answer。该解决方案也适用于您的问题。
-
将
users作为useEffect钩子的依赖项。
标签: javascript reactjs react-native state use-effect