Redux商店在热重新加载时重复

时间:2017-01-25 10:38:28

标签: webpack redux webpack-dev-server

我有以下store.ts

import { createStore } from 'redux';

const reducer = (state: any, action: any) => {
  if (action.type === 'INC') {
    return state+1;
  }
  return state;
}

//Create a dummy store
export const store = createStore(reducer, 0);

这主要是我在教程中运行的一个例子 - 一个没有多少进展的简单商店。

然后在我的component.tsx

import * as React from 'react';
import * as ReactDOM from 'react-dom';

import { store } from 'path/to/store';

store.subscribe(() => {
  console.log('store changed', store.getState());
})

store.dispatch({type: 'INC', payload: 1});
...

所以当我加载页面时,我会在控制台中看到:

[HMR] Waiting for update signal from WDS... 
[HMR] Waiting for update signal from WDS...
store changed 1

每当我修改component.tsx文件时,我的webpack-dev-server会重新加载,然后我会看到以下内容:

[WDS] App hot update...
[HMR] Checking for updates on the server...
store changed 2
store changed 2

所以看来我的商店是持久的,这很好,我甚至不介意它从2更改为1(因为有+1)。

但是我担心它出现两次,这让我觉得现在有两个例子。

有没有办法解决这个问题,或者这只是使用redux商店进行热重新加载的问题?

我正在使用webpackwebpack-dev-serverreact-hot-loader

0 个答案:

没有答案