const _id = match.params.id;const response = await api.get("/roleidindex", { params: { _id }})console.log (response.data); //correct objectsetRole(response.data);console.log (role); //{}在我的代码中,我有这段文本,并且由于注释显示请求的响应很好,但是当我将状态设置为值时,状态与其初始状态相同。顺便说一句,这一切都在useEffect方法中。
1 回答

江户川乱折腾
TA贡献1851条经验 获得超5个赞
调用状态更改时,组件不会立即更新 - 而是对更改进行批处理,以便一次完成所有排队的更改,然后重新呈现。
使用钩子,代码中的变量无论如何都不会收到更新的数据,因为必须再次调用整个组件才能使更新的值存在 - 只有在下次调用组件时,才会为组件分配从 中获取的更新值。roleroleuseState
如果要记录数据,假设它开始时为空,则应在主组件正文中执行此操作:
const [role, setRole] = useState(null);
if (role) {
console.log('Got data', role);
}
添加回答
举报
0/150
提交
取消