如何防止SSR中的首次加载反应加载?

时间:2019-01-30 10:31:46

标签: reactjs react-redux react-loadable

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

1 个答案:

答案 0 :(得分:0)

导致应用重新渲染的唯一原因是当您的应用加载到浏览器上并且反应接管时的调用。

所有回调均被再次触发。

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

  • 在浏览器上加载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();