redux-saga / redux-saga-beginner-tutorial

Redux/Redux-saga beginner tutorial
MIT License
587 stars 544 forks source link

saga argument must be a Generator function! error #69

Open seanmalek opened 4 years ago

seanmalek commented 4 years ago

I have code that was working fine until I upgrade the okta-react to 3.0.1 and now I am getting this weird error runSaga(options, saga, ...args): saga argument must be a Generator function!

  10 | export const store = createStore(rootReducer, getInitialState(), composeWithDevTools(applyMiddleware(sagaMiddleware)));
  11 | 
> 12 | sagaMiddleware.run(rootSaga);
     |                ^
  and my root saga is 

export const rootSaga = function* root() { yield all([ fork(watchNewGeneratedNetworkRequestStart), fork(watchGetRefsStartSaga), fork(watchCommercialOrderSearch), fork(watchSessionNetworkSaga), fork(watchMissingCopySearch), fork(watchMissingCopyRefSaga), fork(watchAddInstruction), fork(watchMediaSearches), fork(watchLockSagas), fork(watchSharedCommercialOrderSearch), fork(watchMultiOrderInstructionSagas), fork(watchLogPageSagas), ]); };

any idea why I started having this errors after the update?

grinya007 commented 4 years ago

Hi, Sean If you remove default from export default function* rootSaga() line in your sagas.js this error should go away. Don't ask why, I'm in the very beginning of the journey to javascript wonderland =)

grinya007 commented 4 years ago

Oh, just realized that this is your rootSaga below the code snippet (looks like some stack trace =) I'd suggest replacing export const rootSaga = function* root() { with export function* rootSaga() {

hamaarouf commented 2 years ago

I got the same error while I was following this tutorial from redux-saga doc https://redux-saga.js.org/docs/introduction/BeginnerTutorial#making-asynchronous-calls

Any solution/explanation please ?

outa-time commented 1 year ago

Make sure your generator function is written with the space before the asterisk:

export function *helloSaga() {

and NOT with the space after the asterisk:

export function* helloSaga() {