Javascript React布局组件最佳实践

Javascript React布局组件最佳实践,javascript,reactjs,react-redux,react-hooks,Javascript,Reactjs,React Redux,React Hooks,我正在React中创建一个仪表板,目前我有一个页面组件来保存所有状态并管理对后端api的请求。我正在考虑进行重构,将请求从页面组件中拉出来,以保持其纯粹的呈现性,并将所有api和数据逻辑移到仪表板小部件组件中 虽然我相信这应该是最佳实践,但我担心某些效率低下的问题。我所遇到的一个问题是,获取请求将需要被记录,否则,几个组件共享的一些数据将被多次从API请求。 我提到的另一个问题是,每个组件都需要连接到redux状态存储,我不确定使用“connect”与从useState对象传递props的开销

我正在React中创建一个仪表板,目前我有一个页面组件来保存所有状态并管理对后端api的请求。我正在考虑进行重构,将请求从页面组件中拉出来,以保持其纯粹的呈现性,并将所有api和数据逻辑移到仪表板小部件组件中

虽然我相信这应该是最佳实践,但我担心某些效率低下的问题。我所遇到的一个问题是,获取请求将需要被记录,否则,几个组件共享的一些数据将被多次从API请求。 我提到的另一个问题是,每个组件都需要连接到redux状态存储,我不确定使用“connect”与从useState对象传递props的开销


总的来说,我是不是什么都不关心?这是最好的方法吗?或者,如果页面组件减少了api调用/redux连接的数量,那么我是否应该在页面组件中保留一些逻辑?

使用该库证明效果非常好。我建议需要记录不同组件发出的API请求的任何人使用带有公共端点字符串的swr库来确保缓存。

要解决关于相同数据的“多个API请求”的问题,可以查看库“swr”。它是一个内置缓存和大量优秀功能的React钩子。您可以在多个组件中使用钩子,但是实际的数据获取只会发生一次,并且它们都将接收获取的数据。我在一个我正在开发的应用程序中使用了这个钩子,这非常令人惊讶。克里斯-我正在寻找一个缓存库,这正是我所需要的。谢谢@克里斯:这是一个很好的评论。谢谢分享!