は、私は、データベースの変更にアクションを放出している2人のFirebaseリスナーを、持っています。それは上記の両方のリスナーによって検出される変更を行います。 この「他のアクション」は放出されると、私はエラーを取得しています:Reduxの複数のアクション
Reducers may not dispatch actions.
なぜこの出来事はありますか?
アプリケーションは、pepperoni-app-kit redux-thunk
の上に構築されます。
リスナーにタイムアウトを追加する場合は、dispatch
となりますが、問題なく動作しますが、これは解決策ではありません。
case constants.UPDATE_PROFILE:
return state.set('profile', fromJS(action.payload))
break;
case constants.SUBMIT_EVENT: {
const profile = state.get('profile').toJS();
const eventId = action.payload;
fb.db.ref(`activeEvents/${profile.uid}/${eventId}`).set(true);
fb.db.ref(`profiles/${profile.uid}/totalEvents`).set(Number(profile.totalEvents) +1 || 1);
return state
break;
}
case constants.ACTIVE_EVENT: {
if (typeof action.payload === 'string') {
return state.deleteIn(['activeEvents', action.payload])
} else {
return state.setIn(['activeEvents', action.payload.id], action.payload)
}
}
アクション:
SUBMIT_EVENT // the one, which triggers changes in db
UPDATE_PROFILE
ACTIVE_EVENT
エラーが発生すると、関連するすべてのコードが含まれていなかったことが示唆されます。 'watchProfile'はアクション作成者ですか? (あなたは??あなたの還元剤としてwatchProfileを使用しようとした場合を除く)とエラーが減速について – WTK
@WTKですが、私はコード – stkvtflw
を追加しました私は減速にfirebase 'set'クエリを放射されてきたという理由だけで、このですか?私はそれを別の場所に移しました、そして今、それは動作します。しかし、私は、彼らがどのようにそれに影響を与えたのですか?クエリは、何らかのアクションや、還元に関連するものを放出していません。今のところアクションの間にもう少し時間があるので、今は動作しますか?この場合、バグはまれにしか起こらないでしょう。 – stkvtflw