【问题标题】:React ı cant reach current state反应我无法达到当前状态
【发布时间】: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,而不是从返回的users useState。简而言之,您应该将 const users =[...] 重命名为其他名称,例如 const initalUsers = [...] 或完全删除该变量并执行 setusers([...])
  • 这是另一个陈旧的关闭问题。在另一个问题上查看my answer。该解决方案也适用于您的问题。
  • users 作为useEffect 钩子的依赖项。

标签: javascript reactjs react-native state use-effect


【解决方案1】:

在您的 useEffect 挂钩中,您定义了一个名为 users 的 const 变量。
在 onClick 事件中,您输出 const 变量 users 而不是状态变量 users

这意味着 const users 不等于 state.users
重命名您的 const 变量“用户”,看看是否有任何变化。

【讨论】:

    猜你喜欢
    • 2018-09-29
    • 2023-03-05
    • 1970-01-01
    • 2019-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多