如何解决如何从URL状态更新生命周期CDM / CDUP上的redux存储?
我有一个应用程序,它显示带有数据的图表取决于几个选项,例如时间段(startDate,endDate),选定的数据集,粒度等。
问题是当用户选择某些特定选项时,应用程序生成图表并希望与其他人共享其结果。我无法将URL路径与参数一起使用,因为其中的一些参数(例如异常ID包括很长且很奇怪的字符串),因此我决定对redux存储选择的选项进行编码并将其添加到URL路径中,如下所示:
encodeURIComponent('startDate=11-08-2019')
等所以最终的网址看起来像这样:
http://example.com/datasets/startDate%3D11-08-2019%2FendDate%3D23-09-2019
解码URL后,我得到了:
{
startDate: '11-08-2019',endDate: '23-09-2019',}
之后,可以与某人共享此链接。但是存在一个如何基于这些参数更新存储的问题。我当然可以解码该URL并读取一些属性及其值。问题是该应用程序在挂载后获取可用的数据集并从列表中首先选择它作为默认值。如果URL参数中的参数不同,我想将其设置为当前选定的数据集。 例如,一开始我们有id = 33的数据集,但是在URL参数中,数据集的id是46。在从API异步获取数据集并选择默认数据集之后,我必须更改此store属性(数据集是在具有图表的组件中获取的是另一个组件中)
此外,其他属性还有另一个问题。用户可以选择时段类型的数据集(例如天,周或月),以及数量(例如3周)。基于选定时间段的时间段刷新数据集的每次更改。用户从共享URL打开应用程序时,必须执行相同的情况。
使用编码的URL参数以这种方式更新应用程序是一个好选择吗?还是有另一种更好的方法呢? 从URL打开或手动启动时,如何正确更新应用程序?
我希望有人可以告诉我该怎么做:)
感谢帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。