我试图计算以我的redux状态存储的数组中的项目数。这是我的代码:
const user = useSelector((state) => state.user);
const userCompanies = user.companyId;
if ( userCompanies.length == 1 ) {
alert('Only one company');
};
我的用户对象如下所示(并通过控制台日志很好地输出):
Object {
"companyId": Array [
"NhOmasfaJWpFDd9erU",
],
"email": "example@gmail.com",
"userId": "jGibL0twsafsqYAmxx9X0C2",
}
但是,在加载屏幕时,我得到无法读取未定义的属性'length'。我是否想过早进行计数?我该如何解决?
答案 0 :(得分:1)
您的州是这些信息(companyId,电子邮件..)的整个容器
要访问该容器,您需要执行以下操作:
const user = useSelector((state) => state.user.user);
第一个.user
是您在App.js
中定义的密钥。第二个是redux中的状态容器
然后,在访问companyId
时,您只需:
user.companyId