我的商店:
store={
users: [
{id:1},
{id:2},
{id:3}
]
}
现在,我只想基于路线参数导入一个用户。
id = this.props.match.params.user_id;
问题是..在mapStateToProps函数从我的商店中获取数据之前,如何在上面建立id变量?我的mapStateToProps:
return {
singleUser: state.users[id]
};
返回未定义。我尝试将变量“ id”放在mapStateToProps内,但我认为在开始获取数据时尚未建立参数。
编辑:另外,我无法在mapStateToProps中建立id变量,因为this.props在组件之外是未定义的。我该怎么办?
您可以使用array方法find
来获取具有match的对象id
。
return {
singleUser: state.users.find(user => user.id === id)
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句