我有一个非常简单的反应应用程序。 我正在尝试设置一个状态变量,然后在控制台之后立即设置该变量.log但得到一个空白值。
var [techFilterTerm, setTechFilterTerm] = useState('');
setTechFilterTerm('Test');
console.log(techFilterTerm);
我希望在第一次渲染时,这将在控制台中显示"测试" - 但它显示空字符串。 这是怎么回事?
正确理解您的问题,您想知道更新的值,为此您可以使用 useEffect api,每当您想要观察的值之一发生变化时,就会调用它。您要观察的值需要作为第二个参数作为 useImpact 中的数组传递。在您的情况下,您想知道 techFilterTerm 的更新值,以便您可以将 techFilterTerm 作为第二个参数传递给 useEffect,如下所示。
useEffect(() => {
//here you will get the updated value whenever there is change in value
},[techFilterTerm]);
这是有关使用效果的更多信息的链接。
https://reactjs.org/docs/hooks-effect.html