我在我的功能组件中使用useState! 只是对某事感到困惑
[myRoom,setMyRoom] = useState('test1');
例如,当我使用此函数setMyRoom在方法中设置房间时,直到第二次重新调音器时,它才会更改值
function(){
setMyRoom("test 2")
console.log(myRoom)
// here i get test1 from the first line but not (test2) !!
//why don't i get it immediately?
//how can i get it before the re-render?
}
第二个问题,使用setState和使用普通JS有什么区别? myRoom ='test2'
答案 0 :(得分:1)
function(){
const newRoom = "test 2";
setMyRoom(newRoom)
console.log(newRoom)
}
的目的不是更改局部变量setMyRoom
。 myRoom
可能是myRoom
,因此将无法更改,即使它是const
也不是设置状态要尝试的。
相反,调用setState的目的是告诉react您希望组件重新呈现。当组件重新渲染时,它将获得具有新值的新局部变量。
如何在重新渲染之前得到它?
很少需要这样做,但是如果这样做,也许可以将值保存到变量中并使用该变量;
let
使用setState和使用普通JS有什么区别
setState是react提供的api,可以告诉您要重新渲染组件。如果不使用它,就不会告诉您要重新渲染。
答案 1 :(得分:0)
curl -XPOST -H 'Content-Type: application/json' localhost:9200/users_v2/_delete_by_query -d '{
"query": {
"match": {
"description_field": "bad user"
}
}
}'
是一个异步函数,调用后可以立即获得setMyRoom
。
您可以解决您的问题:
myRoom