订阅另一个已经加载的出版物| React-Meteor
Subscribe to another publication after one has already loaded | React-Meteor
所以我有两个出版物,团队。dashboard和板。board,问题是,一旦Boards字段已经从团队加载。我想加载板。board出版物与boardId从第一个董事会我有,例如:Boards.find().fetch()[0]._id。
是否有任何React回调或流星的方式来订阅,一旦道具准备好了?因为出于某种原因,我订阅了componentDidUpdate中的数据,有几个'if '和websocket返回:
[{'"msg'":'"sub'",'"id'":'"R74JgCvWX8B8uphoZ'",'"name'":'"boards.board'",'"params'":['"F4MuZ2jX8YKcf8fMr'"]}"]
但是下一条信息是:
["{'"msg'":'"unsub'",'"id'":'"R74JgCvWX8B8uphoZ'"}"]
由于某些原因,该出版物自动退订…随后,有两个websocket消息,它们说如下
[{'"msg'":'"changed'",'"collection'":'"Boards'",'"id'":'"F4MuZ2jX8YKcf8fMr'",'"fields'":{'"field1'":false,'"field2'":[],'"field3'":false,'"field4'":[],'"field5'":[]}}"]
[{'"msg'":'"changed'",'"collection'":'"Boards'",'"id'":'"F4MuZ2jX8YKcf8fMr'",'"cleared'":['"field1'",'"field2'",'"field3'",'"field4'",'"field5'"]}"]
您可以使用Meteor.subscribe
方法的回调参数创建另一个订阅
Meteor.subscribe('teams.dashboard', () => {
let firstBoard = Boards.findOne({}, {fields: {}});
if (!firstBoard) {
return;
}
Meteor.subscribe('boards.board', firstBoard._id);
}
当然,你必须管理你的订阅。我不太清楚React组件是否能像Blaze那样自动退订
相关文章:
- React重新渲染但未显示正确的组件
- React组件等待所需道具进行渲染
- React中的数据集表示
- Webpack开发服务器和React服务器端渲染
- React Redux错误页面管理
- react.js中的密钥绑定
- 如何在react js中将值从一个组件发送到另一个组件
- React Native通过Navigator将用户输入数据传递到选项卡栏IOS中的组件
- React:按键的性能提升
- 如何在react js中从一个页面导航到另一个页面
- React组件-设置页面标题
- 为react组件传递道具的最佳方式
- 如何使用带有Preact的React路由器
- 使用Jest测试React Native应用程序
- 为什么我的点击事件没有使用 react js 触发
- React 15使用空字符串删除输入值
- react组件中的绑定方法
- 是否存在React Native“;WEB代码安全防护”;
- 如何在react js中移动第二个组件
- 订阅另一个已经加载的出版物| React-Meteor