像是 fetch 这种请求,需要根据某个 state 变化重新请求,例如 pageSize ,大家一般用以下哪种写法(或者自己有更好的也可说一下):
useEffect:
useEffect(() => { fetch(`xxx?pageSize=${pageSize}`)}, [pageSize])
在 state 发生变化的组件调用 fetch:
<Pagination pageSize={pageSize} onChange={(pageSize) => { fetch(`xxx?pageSize=${pageSize}`) }}/>
我个人更倾向第二种,第一种 useEffect 看上去更方便,不用第二种需要在每个 state 变化的组件调用 fetch ,但是长期维护下来可能会有意想不到的 bug (公司里有个项目因为缓存的 code 和后端返回的 code 不同,导致 useEffect 调用了两边,自己 dev 环境下 mock 很难察觉)