【发布时间】:2019-10-11 17:56:21
【问题描述】:
我正在使用 Redux 进行状态管理,在我启动的这个 exreact 驱动的应用程序中,我在一个需要来自 redux 存储的数据的组件 (List) 中。 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 上更新?
【问题讨论】: