Я наконец понял проблему.
Во-первых, у меня возникла проблема в файле store.js. В частности, я случайно удалил строки, связанные с createReactiveMiddlewares.
const {источники, подписки,} =
createReactiveMiddlewares (трекер);
Затем, при реализации actions.js, вы должны быть очень осторожны с именами действий, а также с методом Meteor.subscribe, который должен называться в соответствии с действиями. Пример ниже, если HOME_POSTS_SUB равен «home_randomName», он не будет работать, потому что префиксы _SUBSCRIPTION_READY и _SUBSCRIPTION_CHANGED должны быть согласованы со строковым значением _SUB.
export const HOME_POSTS_SUBSCRIPTION_READY =
'HOME_POSTS_SUBSCRIPTION_READY'; экспорт конст
HOME_POSTS_SUBSCRIPTION_CHANGED = 'HOME_POSTS_SUBSCRIPTION_CHANGED';
export const HOME_POSTS_SUB = 'home.posts'; // буду работать! // экспорт
const HOME_POSTS_SUB = 'home.randomName'; // испортил !! // экспорт const
HOME_POSTS_SUB = 'posts'; // испортил !!
export const loadHomePosts = () => startSubscription ({
ключ: HOME_POSTS_SUB,
подписаться: () => Meteor.subscribe (HOME_POSTS_SUB),
get: () => Posts.find (). fetch (),
присвоение имени HOME_POSTS _... иначе это доставит вам массу неприятностей
потом. Таким образом, правильное именование действий будет иметь эффект позже, когда вы
используйте их в файле reducer.js:
функция экспорта home (state = initialState, action) {switch
(action.type) {
case HOME_POSTS_SUBSCRIPTION_READY:
вернуть {
...государство,
готово: action.payload.ready,
postsSubscriptionStopped: false,
};
case HOME_POSTS_SUBSCRIPTION_CHANGED:
вернуть {
...государство,
сообщения: action.payload,
};
case STOP_SUBSCRIPTION:
return action.payload === HOME_POSTS_SUB
? {... state, postsSubscriptionStopped: true}
: государство;
дефолт:
возвратное состояние; }}