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

在console.log上反应慢的setState

施宏大
2023-03-14
问题内容

我有一个简单的React组件,它的输入字段带有一个onChange事件。触发onChange事件,并使用输入字段中的值更新某些组件状态。但是我在控制台记录日志时注意到状态是一个字符。因此,如果我键入“
Hello”,控制台将显示状态为

‘’在H上

HE上的“ H”

HEL上的“ E”

地狱中的“ L”

HELLO上的“ L”

那个怎么样?


问题答案:

this.setState异步的。这意味着记录的时间控制台无法与更新的时间状态匹配。如果要在状态更改后看到确切的值,则必须执行以下操作

this.setState({ 'updated': 'state'}, () => {
  console.log(this.state.updated);
});


 类似资料:
  • 问题内容: 我有一个叫做React的组件,有很多子组件(另一个React组件)。我希望能够从内部对每个事件声明一个事件。我尝试执行以下操作: 不用说,我没有得到任何“点击!” 出现在我的控制台中 Chrome中的React检查器会指示事件已注册,并应使用上述功能体进行注册。 因此,我得出结论,我无法在实际标签上注册事件(不过,我不确定为什么会这样)。我如何才能实现这一目标呢? 问题答案: 这取决于

  • 问题内容: 我在网上搜索了有关如何在Microsoft IIS上部署React App的解决方案的信息。 我已经成功地部署了多个Node.JS应用程序,但是React却没有运气。 我尝试过的 已安装的网址重写 我跑了: 我创建了一个基本的React应用程序: 我创建了一个名为的路线 web.config 然后我跑了 在IIS中,我使用Application Pool:添加了一个,该路径链接到文件夹

  • 问题内容: 我正在尝试找到最适合与我的React应用程序一起使用的表,而现在,react表提供了我需要的一切(分页,服务器端控件,过滤,排序,页脚行)。 话虽这么说,我似乎无法选择一行。没有任何例子可以证明这一点。 我尝试过的一些操作包括尝试在单击行时设置className。但是我似乎在nor中找不到调用元素。另外,我不喜欢这种方法,因为这不是React应用程序应该做的事情。 一些可能的解决方法是

  • 问题内容: 我正在使用通过上下文传递的函数。 现在我用。这可行。 如果我需要来自两个不同父组件的函数,该怎么办? 问题答案: 您仍然可以通过16.3 Context API来使用子级功能消费者节点,这是React文档建议的做法: 要在组件的上下文中使用函数,通常将组件包装在HOC中,以便将上下文作为prop传递: 如果您正在运行React 16.8+,则还可以使用钩子更干净地执行此操作,而无需使用

  • 问题内容: 是因为我们应该加载类(例如),创建实例,然后搜索适当的方法,打包参数,然后仅调用方法?因此,大多数时间都花在了这些操作上,而不是花在对象上的显式方法调用上,对吧? 问题答案: 使用反射时,每次执行时都需要验证您执行的每个步骤。例如,当您调用一个方法时,它需要检查目标是否实际上是该方法的声明者的实例,是否具有正确数量的参数,每个参数是否具有正确的类型,等等。 绝对没有内联或其他性能技巧的

  • 我正在遵循官方的react native文档来安装和运行示例react native应用程序。我创建了一个示例应用程序,方法是: app.js 然后我移除并保存以检查编辑器上的更改是否反映在移动应用程序上。但我还没有看到世博应用程序有任何变化。我甚至打开了android手机上的chrome浏览器,输入了ip地址,仍然没有变化。