首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通量:用于设置存储监听器的高阶组件

通量:用于设置存储监听器的高阶组件
EN

Stack Overflow用户
提问于 2015-04-26 23:30:13
回答 1查看 425关注 0票数 0

在本文米辛死了。万岁构图之后,我已经设置了一个宠物组件,侦听宠物和所有者存储用户一个更高级的组件。但是如何将owner_id从宠物资源传递到connectToStores呢?这仅仅是一种混合剂更优越的情况吗?

代码语言:javascript
复制
Pet = connectToStores(Pet, [PetStore, OwnerStore], (props) => {
  return {
    pet   : PetStore.getOne(props.id),
    owner : OwnerStore.getOne(ownerId), // this should come from pet.owner_id                                        
  };
}); 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-26 23:50:43

PetStore.getOne同步吗?只需将结果赋值给一个变量。

代码语言:javascript
复制
Pet = connectToStores(Pet, [PetStore, OwnerStore], (props) => {
  var pet = PetStore.getOne(props.id);

  return {
    pet   : pet,
    owner : OwnerStore.getOne(pet.owner_id),    
  };
});

如果它不是同步的,那么您的存储将需要发出一个更改事件,以便在宠物可用时使组件重新呈现。组件还需要以某种方式处理宠物不可用的问题。

代码语言:javascript
复制
Pet = connectToStores(Pet, [PetStore, OwnerStore], (props) => {
  var pet, loaded, owner;

  pet = PetStore.getOne(props.id);
  if (pet) {
    loaded = true;
    owner = OwnerStore.getOne(pet.owner_id);
  } else {
    loaded = false;
    owner = null;
  }

  return {
    pet    : pet,
    owner  : owner,
    loaded : loaded
  };
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29884886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档