【发布时间】:2018-10-21 21:51:53
【问题描述】:
我正在尝试找出如何最好地使用 react、redux 和自动完成组件。目前,我使用的是react-select。我遇到的问题是何时何地调用 API 来检索自动完成结果。
我尝试了两种方法来解决这个问题:
从组件内部或通过从包装组件的容器传入的回调进行 API 调用。这对我来说很好。我想单元测试会因此变得不那么整洁。
在击键时触发 redux 操作。在动作创建者中进行 API 调用。通过使用 redux-thunk 中间件,promise 被解析,并随着搜索结果引发一个新的 action,因为它是有效负载并存储在 store 的某个部分。自动完成组件一直在监听这个列表并呈现结果列表。我部分地使用了react-select,但是输入组件的状态在随后的击键中被清除了。
我正在寻找有关这两种方法的优缺点的指导,以及是否有最佳实践可供采用。
谢谢。
【问题讨论】:
-
这里的
autocomplete是什么意思。它是像浏览器显示为选项或自动完成数据的预呈现搜索结果 -
它不是预渲染的,有一个 HTTP 调用来根据输入检索结果。类似于 google 主页上显示的内容。
-
ok #2 是正确的 redux 方法。看看这是否有帮助:github.com/reactjs/react-autocomplete
-
@Rikin 这有什么好处?
标签: reactjs autocomplete redux redux-thunk react-select