我的商店:
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 在组件外部未定义。我该怎么做?
最佳答案
可以用数组法find
获取具有匹配 id
的对象。
return {
singleUser: state.users.find(user => user.id === id)
};
关于javascript - 如何根据路由参数从众多用户中只导入一个用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55708723/