我正在学习Redux,我认为我对它的工作方式有很好的理解,我理解了提供者/存储/动作/减速器的用途。
我对在React / Redux / Meteor应用程序中应该在何处调用订阅感到困惑。
我已经看到了在使用React / Redux应用程序时在操作中执行API调用的示例。
当我们在混合中使用Meteor.js时,不确定最佳/常用的方法是什么,我应该在操作中调用订阅并将它们传递给reducer,反之亦然。
谢谢
答案 0 :(得分:3)
由于订阅与对REST API的请求(使用Redux的典型示例)略有不同,因此我不会在操作中创建订阅。因此,假设您正在使用react-native-meteor
,我会像没有Redux一样处理问题。
import Meteor, { createContainer } from 'react-native-meteor';
import { connect } from 'react-redux';
class App = () => (
<View />
);
export default createContainer(() => {
const sub = Meteor.subscribe('my-publication');
const data = Meteor.collection('demo').find();
return {
ready: sub.ready(),
data,
};
}, connect()(App));
希望对你有所帮助!
答案 1 :(得分:0)
如果您希望将订阅加载到Redux商店,那么meteor-redux-middlewares
非常有用。它为您提供了一些糖,用于制作订阅出版物的Redux操作,然后在发布更改时分发新操作。
我倾向于创建一个容器组件,查看是否所有必需的数据在商店中都可用,然后调用其中一个订阅操作(如果不是)。