等待redux加载数据



我想从redux中提取一个对象。我想在加载时显示该值。我不知道怎么做。

const user = useSelector((state) => state.user);

这是我写的代码。它从redux中提取值,但最初它是未定义的。我想在值完全加载时执行一个函数。我该怎么做?

您可以通过使用条件渲染来实现,例如:

const user = useSelector((state) => state.user);
{user && user.map(item=>(
<div>
<ul>
<li>{item.name}</li>
<ul>
</div>
)}

因此,如果user为true,则只映射用户数组,请在JSX的呈现方法中尝试此代码。

首先,reducer状态是什么样子的,如果你已经命名了reducer用户,并且在初始状态下有一个用户对象,那么你必须考虑使用

like this 
const { user } = useSelector((state) => state.user);
or like this
const user = useSelector((state) => state.user.user);
then where you use it if the user is undefined 
and you want to render the user object once the user data has successfully updated
something like 
<div>
{user && user.name}
{user && user.age}
{user && user.height}
</div>
or if you want to show all the data and there are no embedded properties
you could do something like 
<div>
{Object.keys(user).length > 0 &&
Object.keys(user)
.map((key) => 
<div>{user[key]}</div>)
}
</div>

最新更新