react hooks中的set方法没有设置值[重复]

Posted

技术标签:

【中文标题】react hooks中的set方法没有设置值[重复]【英文标题】:set method in react hooks does not set the value [duplicate] 【发布时间】:2021-02-15 03:05:24 【问题描述】:
let [amount, setAmount] = React.useState(100);

function ChangeHandler(event) 
  let value = event.target.value;
  setAmount(value);
  props.update(amount);

props.update 是我从更高的组件传递来更新另一个 Hook 的函数。

【问题讨论】:

你能补充更多细节吗? 更新是异步的,更多在链接问题的答案和the documentation。 setAmount 肯定会更新您的状态项。它不会更新函数可能关闭的范围内变量;你需要确保你的函数没有状态闭包。 (注意:声明你的状态成员时使用constconst [amount, setAmount] = React.useState(100);。它可以帮助你记住那个变量永远不会改变,改变是你得到的那个下一次 你打电话给useState。) 【参考方案1】:

在下一行设置后无法访问状态。

这样做

let [amount, setAmount] = React.useState(100);

function ChangeHandler(event) 
  let value = event.target.value;
  setAmount(value);
  props.update(value);

【讨论】:

它不起作用我试过了。但是谢谢 不可能,你做错了什么 更新功能有效,但 setAmount 无效 如果您喜欢我的回答或者您从我的回答中得到了任何帮助,请不要忘记考虑投票并通过单击右箭头将此答案作为您的最佳答案,谢谢!

以上是关于react hooks中的set方法没有设置值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

react的hook踩坑,useState的set方法不生效问题。

React set Hook 从组件外部的函数调用

我无法更改 React 挂钩中的输入值

使用 React-Hook-Form 和 YupResolver 时遇到此错误:尝试导入错误:“set”未从“react-hook-form”导出(导入为“o”)

如何使用 React Hooks 在另一个组件中获取表单的输入值

react-apollo-hooks 中的 useMutation 没有传递变量