我正在學習Redux,並且我認爲我對它的工作原理有很好的理解,我理解提供者/商店/操作/縮減器的用途。我應該在React Redux Meteor.js混合物中打電話訂閱
我很困惑我在哪裏應該在我的React/Redux/Meteor應用程序中調用訂閱。
我在使用React/Redux應用程序時看到了在動作中執行API調用的示例。
不確定什麼是最好的/常用的方法,當我們有Meteor.js在混合中,我應該在動作中調用訂閱並將它們傳遞給reducer,反之亦然。
謝謝
我正在學習Redux,並且我認爲我對它的工作原理有很好的理解,我理解提供者/商店/操作/縮減器的用途。我應該在React Redux Meteor.js混合物中打電話訂閱
我很困惑我在哪裏應該在我的React/Redux/Meteor應用程序中調用訂閱。
我在使用React/Redux應用程序時看到了在動作中執行API調用的示例。
不確定什麼是最好的/常用的方法,當我們有Meteor.js在混合中,我應該在動作中調用訂閱並將它們傳遞給reducer,反之亦然。
謝謝
由於訂閱是不是一個REST API(與終極版典型的例子)的請求有點不同的,所以我不創造行動訂閱。因此,假設您使用的是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));
希望對你有一定的價值!
如果你想訂閱被加載到你的Redux商店,那麼meteor-redux-middlewares
是超級有用的。它爲您提供了一些用於製作訂閱出版物的Redux操作的糖,然後在出版物發生更改時派發新的操作。
我傾向於創建一個容器組件,它查看是否所有需要的數據都在商店中可用,然後調用其中一個訂閱動作(如果不存在)。
謝謝@spencercarli – Deano
這將工作更多conolicated應用程序?例如,訂閱根目錄但在子組件中搜索集合?我希望用戶訪問不同的。收藏取決於他們在哪裏。 – xerotolerant