reactjs - 显示来自 redux 的数据子集的最佳方式是什么?
问题描述
我正在使用 openWeather API。它返回这样的响应。
{
"cod": "200",
"message": 0,
"cnt": 40,
"list": [ ... ], // a list of size 40 which contains 3 hours forcast of 5 days
"city": {
"id": 2643743,
"name": "London",
"coord": {
"lat": 51.5073,
"lon": -0.1277
},
"country": "GB",
"timezone": 0,
"sunrise": 1578384285,
"sunset": 1578413272
}
}
现在在我的 UI 中,我有一个图表,显示当天的温度,我希望用户能够在几天之间切换。就像谷歌用户界面一样。
我还实现了搜索,以便当用户搜索城市时,来自 api 的响应会像这样附加到我的 redux 状态。
state: {
data : [ ... ] // array of api responses
}
为了显示数据,需要做两件事:1)显示哪个城市数据(redux state 有一个数据数组)2)显示哪一天(api 响应有一个五天的预测数组)。最初我可以显示第一个响应和第一天(当天)。当用户想要在日期或城市之间切换时会发生什么。我应该有组件状态来处理这些信息吗?还是我应该将此信息保持在 redux 状态(为此我需要额外的操作)?
解决方案
你说的应该是,首先你展示你的第一天和第一个城市。并且该信息存储在redux
.
现在在 redux 中,你有五天的预测数组([0: {} , 1: {}, 2: {}, 3: {}, 4: {}]
。当用户想要更改日期前。从周一到周三,您从 redux 获取该信息并将其绑定到组件。
当您想要第二天时,您会再次询问当天的 redux 是否在组件中使用它,如果没有,则将其放入 redux 中。
如果您需要管理该信息以以某种方式更改它(我认为您在此应用程序中不需要它),那么您可以放入数据,state
否则您可以props
在组件中使用它。
推荐阅读
- python - setContextProperty() 不会在 qml 文件中创建类实例
- python - 如何创建混淆矩阵来评估模型?
- javascript - 我怎样才能开始 NodeJS 帖子?
- reactjs - Json-server 使用 React js 和 Redux 响应错误 404 not found Post Method
- codeigniter - Codeigniter 完整日历集成
- python - 如何使用 pandas 进行条件选择
- yii2 - Yii2 - 将控制器扩展为现有模块
- javascript - 在 Nuxt.js 中导入单个 Vuetify 组件?
- python - 分块处理字节字符串
- javascript - 反应我想覆盖一个对象的值