当前位置: 首页 > 面试题库 >

如何从useState挂钩访问setState中的回调

申宜
2023-03-14
问题内容

是否有人在React
16.8中为useState挂钩的更新部分创建了同步回调?我一直在寻找一种方法,这样我就可以使用第三方库来处理同步操作,而我似乎无法根据自己的需要来完成一项工作。

如果有人对成功完成此操作的人员有任何引用,请在此处添加。

干杯,


问题答案:

使用钩子,您不再需要该setState函数的回调。现在,您可以使用useState挂钩设置状态,并监听其值以使用useEffect挂钩更新。useEffect挂钩的可选第二个参数采用一组值来侦听更改。在下面的示例中,我们仅监视一个值的更改:

const Example = () => {
  const [value, setValue] = useState(null);

  useEffect(() => {
    // do something when value changes
  }, [value]);

  return (
    <button onClick={() => setValue('Clicked!')}>
      Click Me!
    </button>
  );
};

在此处阅读有关useEffect钩子的更多信息。



 类似资料:
  • 更新状态的正确方式是什么,是一个嵌套对象,在与钩子反应? 如何使用将更新为(附加字段)? (更改值)?

  • 我有一些多个状态和函数来设置使用useState钩子的状态。 在每个setstate组件上重新渲染。我只想重新渲染完全完成的setstate函数。 例如: 应用程序内。js ); 在每个函数1和函数2上setA和setB返回语句重新呈现元素。我不想在每个setA,setB,setC等重新渲染。一旦函数1或函数2完全完成,只需要重新渲染组件。我对钩子不熟悉,有人能帮忙吗?

  • 我尝试了不同的方法。但是不要尝试切换这个css类。当我点击它时,书签应该会变成蓝色。到目前为止,我可以用onClick更改为false,但它不会切换回来。 这是ToggleBookmark组件集:

  • 有人能解释一下我做错了什么吗?我有一个react功能组件,在其中我使用useEffect钩子从服务器获取一些数据,并将这些数据放入状态值。在获取数据之后,在同一个useHook中,我需要使用该状态值,但由于某些原因,该值是明确的。看看我的示例,console有一个空字符串,但在浏览器上我可以看到该值。 链接到codesandbox。

  • 问题内容: 在带有钩子的React中,更新状态的正确方法是嵌套对象是什么? 一个人怎么会使用到的更新来(附加一个字段)? (改变价值)? 问题答案: 您可以像这样传递新值