Javascript 在Redux中更新常量时的延迟
我正在尝试在React应用程序中使用Redux更新常量。但是当我的回调,Javascript 在Redux中更新常量时的延迟,javascript,reactjs,redux,Javascript,Reactjs,Redux,我正在尝试在React应用程序中使用Redux更新常量。但是当我的回调,handleChange被触发时会有一个延迟。它在调用setFormValues之前记录值。react版本为^16.8.0,react redux版本为7.1.1 Login.jsx formValues是一个简单的变量,在第一行调用useState时设置。在该渲染迭代期间,它不会更改 调用handleChange时,console.log使用该迭代中的formValues。只有在下一次呈现组件后,setState才会返回一
handleChange
被触发时会有一个延迟。它在调用setFormValues
之前记录值。react版本为^16.8.0
,react redux版本为7.1.1
Login.jsx
formValues
是一个简单的变量,在第一行调用useState
时设置。在该渲染迭代期间,它不会更改
调用
handleChange
时,console.log
使用该迭代中的formValues
。只有在下一次呈现组件后,setState
才会返回一个新值,并且handleChange
将使用更新的值重新创建。formValues
是一个简单的变量,在第一行调用useState
时设置。在该渲染迭代期间,它不会更改
调用
handleChange
时,console.log
使用该迭代中的formValues
。只有在下一次呈现组件后,setState
才会返回一个新值,并且handleChange
才会使用更新后的值重新创建。如果您使用的是React钩子(我认为是),您可以在每次更新时使用useffect
记录/操作新值,如下所示:
import React, { useState, useEffect } from 'react';
...
const [formValues, setFormValues] = useState({ email: ' ', password: ' ' });
const handleChange = (e) => {
const updatedValues = { password: '', email: e.target.value };
setFormValues(updatedValues);
};
useEffect(() => {
console.log(formValues);
});
如果您使用的是React钩子,我认为您是这样的,那么您可以使用
useffect
在每次更新时记录/操作新值,如下所示:
import React, { useState, useEffect } from 'react';
...
const [formValues, setFormValues] = useState({ email: ' ', password: ' ' });
const handleChange = (e) => {
const updatedValues = { password: '', email: e.target.value };
setFormValues(updatedValues);
};
useEffect(() => {
console.log(formValues);
});
useState看起来像React钩子,与Redux完全无关这是因为
setFormValues
在React中设置状态,并且状态的设置是异步的,因此可以在状态设置完成之前进行日志记录state看起来像React钩子,与Redux完全无关这是因为setFormValues
设置状态,并且状态设置在React中是异步的,因此可以在状态设置完成之前进行日志记录