javascript-在react-admin中访问redux存储

我的问题与react-admin回购有关.

我想在组件范围之外分派一个动作,为此,I’ve read that我需要获得对实际redux存储本身的访问权,并直接在其中进行分派,

所以我知道Admin组件具有initialState属性,但是它仅接受认状态对象,而不接受存储.因此,我无法建立商店并将其传递.

我的问题是:

>如何访问管理组件的redux存储?
>使用管理员作为我的主要应用程序组件时,如何在组件之外调度动作?

我当前的应用程序条目如下所示:

<AppLayoutDirection>
    <Admin
      title="My App"
      locale="en"
      dataProvider={dataProvider}
      authProvider={authProvider}
      i18nProvider={i18nProvider}
      theme={themeProvider}
      customSagas={customSagas}
      appLayout={AppLayout}
    >
      {DynamicResource}
    </Admin>
  </AppLayoutDirection>
最佳答案
当您说需要在组件范围之外分派一个动作时,我想它是对过去分派的另一个动作的反应.

在这种情况下,这就是react-admin所谓的副作用. react-admin使用redux-saga处理副作用.以下是创建自定义传奇的方法

// in src/bitcoinSaga.js
import { put,takeEvery } from 'redux-saga/effects';
import { showNotification } from 'react-admin';

export default function* bitcoinSaga() {
    yield takeEvery('BITCOIN_RATE_RECEIVED',function* () {
        yield put(showNotification('Bitcoin rate updated'));
    })
}

在< Admin>中注册该传奇.组件如下:

// in src/App.js
import React from 'react';
import { Admin } from 'react-admin';

import bitcoinSaga from './bitcoinSaga';

const App = () => (
    <Admin customSagas={[ bitcoinSaga ]} dataProvider={simpleRestProvider('http://path.to.my.api')}>
        ...
    </Admin>
);

export default App;

这在the <Admin> chapter中的react-admin文档中进行了记录.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...