使用 Next.js 摆脱 redux 包装器中的控制台日志
Posted
技术标签:
【中文标题】使用 Next.js 摆脱 redux 包装器中的控制台日志【英文标题】:Getting rid of console logs in redux wrapper with Next.js 【发布时间】:2020-07-24 07:59:27 【问题描述】:嘿,伙计们,我刚刚从 Internet 下载了一些源文件,它使用带有 Next.js 的 redux thunk 来查看事情是如何工作的,然后在使用 npm run dev
运行它之后,项目成功运行,但随后在控制台中我不断收到此日志:
1. WrappedApp.getInitialProps wrapper got the store with state
loginAndSignupReducer: [],
getCategoryReducer: loading: false, err: false, data: [] ,
MyStoryReducer: loading: false, err: false, data: [] ,
reportStoryReducer: loading: false, err: false, data: [] ,
getAllDetails: []
3. WrappedApp.getInitialProps has store state
loginAndSignupReducer: [],
getCategoryReducer: loading: false, err: false, data: [] ,
MyStoryReducer: loading: false, err: false, data: [] ,
reportStoryReducer: loading: false, err: false, data: [] ,
getAllDetails: []
4. WrappedApp.render created new store with initialState
loginAndSignupReducer: [],
getCategoryReducer: loading: false, err: false, data: [] ,
MyStoryReducer: loading: false, err: false, data: [] ,
reportStoryReducer: loading: false, err: false, data: [] ,
getAllDetails: []
这些东西首先被渲染,正因为如此。我还在页面源中将它们视为对象
我在下面分享了一张图片,请参考它,我在
标记中呈现了我的 id,但在这里我将其视为对象。
有没有人从哪里永久摆脱它们?
【问题讨论】:
【参考方案1】:我能想到的原因有两个,要么在包装器创建期间将调试属性设置为 false。要解决此问题,请执行此操作
// From This
const wrapper = createWrapper<RootState>(initializeStore, debug: true )
// To This
const wrapper = createWrapper<RootState>(initializeStore, debug: false )
// Or Rather
const wrapper = createWrapper<RootState>(initializeStore)
或者您的州可能有一些中间件,例如“记录器”。因此,如果是这种情况,请摆脱您不需要的任何中间件。记录器可以替换为redux-devtools-extension
【讨论】:
【参考方案2】:这很可能是因为您在创建包装器时从 docs 复制了代码示例,该代码示例将 debug
设置为 true
:
export const wrapper = createWrapper<State>(makeStore, debug: true);
删除debug
属性或将其设置为false
以解决问题
export const wrapper = createWrapper<State>(makeStore);
现场演示
【讨论】:
以上是关于使用 Next.js 摆脱 redux 包装器中的控制台日志的主要内容,如果未能解决你的问题,请参考以下文章
Next.js:在 getServerSideProps 中使用带有 TypeScript 的 next-redux-wrapper 调用 Thunks?
如何在 Next.js SSG 或 s-s-r 中使用 Redux 工具包调度?
仅进行“静态生成”时,是不是真的需要在“Next.js + Redux Toolkit”应用程序中使用“next-redux-wrapper”?