我是Javascript和Redux的新手,我刚刚根据此tutorial创建了我的第一个应用。我有一个问题,商店绝对不会对任何调度电话做出反应。我不知道Redux和React之间或商店配置本身之间的连接是否有错误。
你能帮我解决这个问题吗?
这是我的动作文件中的片段,其中" addTodo"行动已定义。
export const ADD_TODO = 'ADD_TODO';
let todoId = 0;
export const addTodo = (text) => ({
type: ADD_TODO,
id: todoId++,
text,
});

以下是我的商店配置。
import { createStore, applyMiddleware, compose } from 'redux';
import rootReducer from '../reducers';
import DevTools from '../containers/DevTools';
const enhancer = compose(
applyMiddleware(createLogger),
DevTools.instrument()
);
export default function configureStore(initialState) {
const store = createStore(rootReducer, initialState, enhancer);
if (module.hot) {
module.hot.accept('../reducers', () => {
const nextRootReducer = require('../reducers').default;
store.replaceReducer(nextRootReducer);
});
}
return store;
}

import React from 'react';
import { render } from 'react-dom';
import configureStore from './store/configureStore';
import { addTodo } from './actions';
const store = configureStore();
store.subscribe(() =>
console.log(store.getState())
);
store.dispatch(addTodo('test'));

整个项目也放在Github上。如果你帮助我,我将感激不尽。
答案 0 :(得分:0)
你忘了调用createLogger,试试
const enhancer = compose(
applyMiddleware(createLogger())
...
);
<强> webpackbin test 强>