Я работаю над приложением Table in React, используя машинопись.Я реализую функциональность поиска для таблицы.Внутри таблицы может отображаться огромное количество данных, поэтому я выполняю поиск, сортировку и разбивку на страницы.
У меня есть компонент для таблицы, который получает данные в качестве реквизита от родительского компонента.Я использую реагировать с редуксом и использую саги, я получаю данные из серверной части.Я использую избыточное состояние для предоставления данных компоненту.Я использую редукторы для изменения состояния.
Проблема, с которой я сталкиваюсь, заключается в том, что когда я перезагружаю данные, я получаю данные, а с помощью редуктора я изменяю состояние, но оно не отображается во внешнем интерфейсе.Но когда я пытаюсь второй раз, он отображает данные.
Мой код для редуктора ниже.
const dataEnteries: Reducer<any> = (
state = {},
{ type, detail, pagination }: DataResponse
) => {
switch (type) {
case actionTypes.DATA_LOAD_RESPONSE:
if (!detail) {
return {};
}
const data: any[] = [];
const tableData: any[] = [];
detail.forEach((o) => {
tableData.push(o.dataDetail);
Data.push(o)
})
const resultMap = new Map()
resultMap["data"] = data;
resultMap["tableData"] = tableData;
resultMap["pagination"] = pagination;
return resultMap;
default:
return state;
}
};
вот мое состояние карты для функции props
const mapStateToProps = ({ data }: { data: DataState }): DataProps => ({
data: data.dataEnteries
});
dataEnteries - самое внутреннее свойство
Я не могу понять, что происходит в моем случаекак во второй раз, все работает правильно.