Reactjs react样板根传奇

Reactjs react样板根传奇,reactjs,redux-saga,Reactjs,Redux Saga,在我以前的项目中,src目录中有一个rootSaga.js,代码如下: import { all, fork } from 'redux-saga/effects' import { cubeSagas } from 'cubeBoco' export default function* root() { yield all( cueSagas.map(saga => fork(saga)) ) } 在react-boilerplate()中,我如何实现它 谢谢大

在我以前的项目中,src目录中有一个rootSaga.js,代码如下:

import { all, fork } from 'redux-saga/effects'
import { cubeSagas } from 'cubeBoco'

export default function* root() {
   yield all(
     cueSagas.map(saga => fork(saga))
   )
}
在react-boilerplate()中,我如何实现它


谢谢大家!

您可以使用与应用程序其余部分相同的方式将其添加到App/index.js中

import { compose } from 'redux';
import injectSaga from 'utils/injectSaga';
import saga from './saga';

function App() {
  return (
    <div>
      <Switch>
      <Route exact path="/" component={HomePage} />
      </Switch>
      <GlobalStyle />
    </div>
  );
}
const withSaga = injectSaga({ key: 'global', saga });

export default compose(withSaga)(App);
从'redux'导入{compose};
从“utils/injectSaga”导入injectSaga;
从“/saga”导入传奇;
函数App(){
返回(
);
}
const withSaga=injectSaga({key:'global',saga});
导出默认组合(带SAGA)(应用程序);

您可以用与应用程序其余部分相同的方式将其添加到App/index.js中

import { compose } from 'redux';
import injectSaga from 'utils/injectSaga';
import saga from './saga';

function App() {
  return (
    <div>
      <Switch>
      <Route exact path="/" component={HomePage} />
      </Switch>
      <GlobalStyle />
    </div>
  );
}
const withSaga = injectSaga({ key: 'global', saga });

export default compose(withSaga)(App);
从'redux'导入{compose};
从“utils/injectSaga”导入injectSaga;
从“/saga”导入传奇;
函数App(){
返回(
);
}
const withSaga=injectSaga({key:'global',saga});
导出默认组合(带SAGA)(应用程序);

使用新的
redux挂钩
您必须: 1) 在全局
reducer.js
文件中添加减速机:

export default function createReducer(
  injectedReducers = {},
) {
  const rootReducer = combineReducers({
    global: globalReducer,
    router: connectRouter(history),
    ...injectedReducers,
  });

  return rootReducer;
}
2) 从全局减速机导入
saga.js
reducer.js
,并为
key
提供与全局
reducer.js中减速机名称相同的名称:

import { useInjectReducer } from 'utils/injectReducer';
import { useInjectSaga } from 'utils/injectSaga';
import reducer from '../global/reducer';
import saga from '../global/sagas';
const key = 'global';
3) 将其插入到函数组件中:

  useInjectReducer({ key, reducer });
  useInjectSaga({ key, saga });
这对我很有用。可以在多个路径中使用它,即使用相同全局saga和reducer的不同页面。
致以最诚挚的问候。

使用新的
redux挂钩
您必须: 1) 在全局
reducer.js
文件中添加减速机:

export default function createReducer(
  injectedReducers = {},
) {
  const rootReducer = combineReducers({
    global: globalReducer,
    router: connectRouter(history),
    ...injectedReducers,
  });

  return rootReducer;
}
2) 从全局减速机导入
saga.js
reducer.js
,并为
key
提供与全局
reducer.js中减速机名称相同的名称:

import { useInjectReducer } from 'utils/injectReducer';
import { useInjectSaga } from 'utils/injectSaga';
import reducer from '../global/reducer';
import saga from '../global/sagas';
const key = 'global';
3) 将其插入到函数组件中:

  useInjectReducer({ key, reducer });
  useInjectSaga({ key, saga });
这对我很有用。可以在多个路径中使用它,即使用相同全局saga和reducer的不同页面。
致以最诚挚的问候。

好久不见了。但是让我问一下,
useInjectReducer({key,reducer})这里,reducer是combineReducer,因此,如何访问rootReducer的一个“键”。是不是只有一个Reducer键(即SliceKey)?@dsi是很久以前我检查过的,你可以在这里看到新版本代码,时间很长。但是让我问一下,
useInjectReducer({key,reducer})这里,reducer是combineReducer,因此,如何访问rootReducer的一个“键”。是否只有一个Reducer键(即SliceKey)?@dsi是我很久以前检查过的,您可以在这里看到新版本代码