0

如果我有一个页面,其中包含许多子组件,例如显示一些帐户信息的标题,我如何最好地获取该组件的数据?

如果我使用 componentDidMount 并向我的 laravel api 发出请求,那么数据应该在加载之前会有延迟。

如果我使用 getInitialProps ,那么我必须为每个页面设置一个端点来获取这些详细信息,然后总是必须将其传递下去。

是否有任何其他解决方案不会导致这两个问题?

4

1 回答 1

0

对于可以在每个页面上访问的帐户级别数据,我会编写一个 HOC 来包装每个帐户页面,该页面将在服务器端获取用户 API 数据,因此您无需在客户端等待任何内容。(或至少最小化等待时间)。这与像 Redux 或 Mobx 这样的状态控制器相结合将是你最好的选择。因此,在第一次加载时,您的 HOC 将获取数据并将其存储在服务器端。然后在导航客户端时的每个后续页面请求中,数据已经存在!然后,您可以在 HOC 中写入一些逻辑,以确保您只在“刷新”页面上发出 api 请求,这样您就不会在每次路由到另一个页面时都进行 api 调用。

希望有帮助!

于 2018-01-16T05:28:37.883 回答