1

我正在使用 Redux 进行状态管理,在我启动的这个提取驱动的应用程序中,我在一个List需要来自 redux 存储的数据的组件 ( ) 中。该List组件需要一个store我知道如何创建但我不知道如何将它与 redux 存储耦合的参数。

我从 Sencha 博客中找到了一个示例,但在我感兴趣的部分缺少它:

import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Grid } from '@extjs/ext-react';
import { connect } from 'react-redux';

export default class EmployeesGrid extends Component {

    static propTypes = {
        criteria: PropTypes.object
    };

    store = new Ext.data.Store({
        ...
    });

    componentDidUpdate(prevProps) {
        const { criteria } = this.props;

        if (prevProps.criteria !== criteria) {
            const filters = [];

            for (let name in criteria) {
                filters.push({
                    property: name,
                    value: criteria[name]                   
                })
            }

            this.store.filter(filters)
        }
    }

    render() {
        return (
            <Grid 
                store={this.store}
                ...
            />
        )
    }
}

const mapStateToProps = (state) => {
    return { criteria: state.criteria }
};

export default connect(mapStateToProps)(EmployeesGrid);

例如,如何Ext.data.Store获取项目以及这些项目如何更新componentDidUpdate

4

1 回答 1

0

免责声明:我是一名 ExtJs 开发人员,也是一名 React/Redux 开发人员,但还没有一起尝试过。

我认为你的例子来自这篇文章

您发布了选项 2 示例,他们在其中写入的数据不存储在 redux 中,只有 ExtJs 网格的过滤条件。数据由 ExtJs Store 中的 React/Redux 处理,您需要使用它们的 API进行数据(重新)加载。

于 2019-10-11T09:56:21.023 回答