将 redux saga 与 next.js 一起使用是反模式吗?

Using redux saga with next.js is anti pattern?

我用 next.js 创建了一个页面,如下所示。

https://github.com/jinhoyoo/breadpan/blob/7db4ba1c458aff4eee558d27c9e7b84af6401596/frontend/todoapp/pages/todo/index.tsx?fbclid=IwAR3gHVcnSDH7R_rqKdN5CtUoKCEo774oESG6QYk3ZpR46RYTS6tlHF9qRHM#L29

使用getInitialProps()提前设置属性。它也使用异步调用。然后我想知道使用 redux saga 对 next.js 真的很有用。

sampleFetchWrapper() 实现如下。

import fetch from 'isomorphic-unfetch'

export async function sampleFetchWrapper(
  input: RequestInfo,
  init?: RequestInit
) {
  try {
    const data = await fetch(input, init).then(res => res.json())
    return data
  } catch (err) {
    throw new Error(err.message)
  }
}

这是其他人the post using redux saga with next.js。但我想知道这是不是正确的方法。你能推荐正确的想法吗?

有效,可能仅用于初始渲染。但SPA不止于此。

如果在客户端应用过滤器会怎样?您将需要获取应用过滤器的新数据。 写评论怎么样?您需要向服务器发送请求、获得响应并显示添加的评论。

因此,在绘制页面后与后端交互的情况下,使用 redux-saga 是一个很好的方法。 如果你想在用户打开页面时立即显示内容(而不是显示加载屏幕),或者你想进行搜索引擎优化,请使用 getInitialProps。当然,对于更快的页面渲染也很重要。