我正在React上开发一个通用的搜索组件,它在URL查询字符串上放置了过滤器,当前页面和其他一些参数(在?
之后)。
我目前使用URLSearchParams将查询字符串转换为js对象并返回查询字符串,因为react-router-v4
期望
关键是我需要在查询字符串中存储一个Object,因此我可以将搜索过滤器(可以有多个字段)与其他参数区分开来。
我看到我可以transform a object to JSON,并将所有内容存储在过滤器参数上,或者我可以使用点表示法(?filter.name=foo&filter.tag=bar
)或甚至方括号表示法存储对象(?filter[name]=foo&filter[tag]=bar
并在从网址上阅读时对待它们。
我倾向于选择JSON表示法,但这种方法有问题吗?我应该事先知道任何限制吗?有没有更好的方法呢?