-1

我遇到了问题,我的本地代码工作正常,但是在服务器上它有一个第一次加载错误,但我不知道错误来自哪里,我需要帮助如何防止预加载!

4

1 回答 1

0

唯一导致您的应用程序重新呈现的是当您的应用程序加载到浏览器上以及 react 接管时的调用。

再次触发所有回调。

根据当前情况,它必须是以下之一:

  • {}当 react 在浏览器上加载时,您的 reducer 就会启动。
  • 加载应用程序后,您正在调用操作以再次在浏览器上发出请求。

解决方案:

  1. 您需要将您的商店初始化window.__PRELOADED_STATE__为已在 SSR 上填充
  2. 您需要检查减速器中是否有数据,不要再次调用。

假设您在商店中有一个预先填充的对象:

data: {
    someData: [
        {//some data},
        {//some data}
    ]

}

然后从你首先调用数据的动作检查的地方,假设你在 props 中接收数据作为 reducerRata:

this.props.reducerData.somedata && this.props.reducerData.somedata.length > 0 && makeCalltoAction();
于 2019-01-31T04:57:42.200 回答