Скажем, я получилКак ленить данные загрузки в приложении Redux?
IClientState: {
firstName: string,
lastName: string,
details: IClientDetailsState
}
и давайте далее предположим, что получение firstName
и lastName
от службы дешево, так что действие будет загружать все клиенты в одном Скверны развертки в родительском состоянии
xxxxState: {
clients: IClientState[],
...
}
Однако получение details
для любого одного клиента довольно дорогое, и они, разумеется, не нужны для отображения в списке.
Как это сделать? Я думал о добавлении loading
и loaded
свойствам к IClientDetailsState
и проверке для тех в компоненте, который требует этих данных; этот компонент затем запустит действие lo load details, если оба свойства должны дать false
.
Дело в том, что эта проверка довольно сложна с точки зрения компонента, и для меня это предупреждающий знак, что это не должно быть сделано таким образом.
Итак, как я могу справиться с этим надлежащим образом?