在我的应用程序中,我将复制同一对象。由于建议保持状态尽可能平坦,因此我基本上在状态中创建了多个对象,如下所示:
const initialState = {
test1: {},
test2: {},
test3: {},
}
我设法通过文件连接到商店,但是访问所需的对象时遇到了麻烦,特别是因为我只知道索引(1、2、3)。
我已将状态映射到道具:
const mapStateToProps = state => {
return {
test1: state.test1,
test2: state.test2,
test3: state.test3,
}
}
然后我尝试沿着这些思路做些事情:
let index = 2;
let infos = this.props.[`test${index}`]
但是这不起作用,除了对索引进行一些难看的切换外,我看不到获取所需对象的另一种方法
答案 0 :(得分:1)
您的错误是尝试使用this.props.
访问状态对象,然后尝试评估变量,您可以执行以下操作:
const index = 2;
const infos = this.props[`test${index}`];
答案 1 :(得分:0)
尝试这样
let index = 2;
let propname = `test${index}`;
let infos = this.props[propname]