4

react-boilerplateのサンプルサーガは、サーガがアレイとしてエクスポートされる:反応-定型新しいルートのサーガ

export function* defaultSaga() { 

} 

export default [ 
    defaultSaga, 
]; 

デフォルトは、次にroutes.jsに注入される:

... 
injectSagas(sagas.default); 
... 

しかし、I認証のための新しいルートが追加されましたが、既定のサガ(上記と同じ)があったとしても、saga argument must be a Generator function!というエラーが表示されます。

私はroutes.jsにルートを追加しました:

//routes.js 
export function authRoutes(store) { 
    //same code as createRoutes 
} 

そしてapp.jsRouterための新しいルートを作成する機能をインポート:

//app.js 
const rootRoute = { 
    component: App, 
    childRoutes: createRoutes(store), 
}; 

const authRoute = { 
    path: '/auth', 
    component: Auth, 
    childRoutes: authRoutes(store), 
}; 

const routes = { 
    childRoutes: [rootRoute, authRoute], 
}; 

私はsagas.jsへのデフォルトを編集しようとすると:

export default function* root() { 
    yield [ 
    defaultSaga(), 
    ]; 
} 

Iエラーが発生するinjectAsyncSagas: Expected "sagas" to be an array of generator functionsそれでは、私がやったことは、アレイ内の新しいルートでsagas.defaultをラップすることでした:

//routes.js - authRoutes(store) 
importModules.then(([reducer, sagas, component]) => { 
    injectReducer('login', reducer.default); 
    injectSagas([sagas.default]); 
    renderRoute(component); 
}); 

は、なぜ私はこれらのエラーを取得していますし、どのように私はそれらを修正することができますか? (私はReactとGeneratorsについて全く新しいです。)

答えて

1

おっと。私がをstore.jsで呼び出すのを忘れていました。これは、ジェネレータ機能の配列を受け入れるテストでした。私はそれを削除し、エラーは消えた。

関連する問題