gpt4 book ai didi

javascript - 如何设置对象数组的 redux 初始状态?

转载 作者:行者123 更新时间:2023-12-01 01:18:34 27 4
gpt4 key购买 nike

我正在为我的 React 应用程序使用 redux。我正在从 api 获取用户数据,用它更新 redux 状态并将其显示到我的组件中。数据是对象列表。导致我出现问题的是设置 redux 初始状态。

reducer 初始状态:

const initState = {
users: []
}

reducer Action

case 'GET_USERS':
return {
users: action.users
}
});

在组件中渲染

{this.props.users[1].name}

在第一次渲染时,我收到错误无法从未定义的属性中读取。这是因为第一次渲染数据尚未存储,并且具有该属性的对象尚不存在。如果我设置初始状态,我可以解决这个问题:

const initState = {
users: [
{name: "", age: ""},
{name: "", age: ""}
]
}

在这种情况下,具有属性的对象将存在,并且我不会收到错误。但我不知道我将拥有多少个对象,并且我不想为每个对象及其属性设置初始状态。那么如何正确设置呢?

最佳答案

只需检查它是否存在并有条件地渲染

{this.props.users.length > 1 ? this.props.users[1].name : 'Not enough elements!'}

关于javascript - 如何设置对象数组的 redux 初始状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54479974/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com