我无法将我的id参数显示在createContainer块中。
class Host extends Component {
render() {
return (
<div>
{console.log(this.props.routeParams.hostId)} //works great
</div>
)
}
}
export default createContainer(() => {
Meteor.subscribe('hosts');
return {
hosts: Hosts.findOne({_id: this.props.routeParams.hostId}), //returns undefined
};
}, Host);
我想在这里通过id进行查询,但参数仅在类本身中可用。不在创建容器块中。
如何让我的参数显示在createContainer中?
答案 0 :(得分:2)
'this'的范围可能会导致问题。也许在返回方法之外定义参数可能会起作用。你能试一试吗
export default createContainer(({routeParams}) => {
const id = routeParams.hostId;
Meteor.subscribe('hosts');
return {
hosts: Hosts.findOne({_id: id}),
};
}, Host);