联合收割机减速器在存储器中不工作,并且不向Redux中的组件发送数据

联合收割机减速器在存储器中不工作,并且不向Redux中的组件发送数据,redux,react-redux,Redux,React Redux,我是redux新手。我想在react上实现redux。我已经创建了todo列表,它在redux中运行良好。作为一种实践,我创建了一个名为Calculate的新组件来增加和减少todo列表下的数字。我有两个减缩器。我在index.js中组合了两个减缩器。但据我所知,组合不起作用。我面临着这样的错误“ TypeError:this.props.messages.map不是一个函数”。但是,如果没有组合减缩器,并且只将messaageReducer发送到存储,我的应用程序运行良好。这是我的代码 imp

我是redux新手。我想在react上实现redux。我已经创建了todo列表,它在redux中运行良好。作为一种实践,我创建了一个名为Calculate的新组件来增加和减少todo列表下的数字。我有两个减缩器。我在index.js中组合了两个减缩器。但据我所知,组合不起作用。我面临着这样的错误“ TypeError:this.props.messages.map不是一个函数”。但是,如果没有组合减缩器,并且只将messaageReducer发送到存储,我的应用程序运行良好。这是我的代码

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import messageReducer from "./reducers/reducers"
import {Provider} from "react-redux"
import {combineReducers, createStore} from "redux"
import Calculate from "./calculate"
import counter from "./reducers/reducers2"



const rootReducer = combineReducers({
  counter,
  messageReducer,
 
})

const store = createStore(rootReducer)

ReactDOM.render(
  <Provider store={store}>
    <App />
    <Calculate/>
  </Provider>,
  document.getElementById('root')
);

从“React”导入React;
从“react dom”导入react dom;
导入“./index.css”;
从“./App”导入应用程序;
从“/reducers/reducers”导入messageReducer
从“react redux”导入{Provider}
从“redux”导入{combinereducer,createStore}
从“/Calculate”导入计算
从“/reducers/reducers2”导入计数器
const rootReducer=combinereducer({
柜台
消息还原器,
})
const store=createStore(rootReducer)
ReactDOM.render(
,
document.getElementById('root'))
);

combineReducers改变您商店的形状

以前的
state.X
现在是
state.messageReducer.X

这也是为什么
messageReducer
在这里是个坏名字。 做

const rootReducer=combinereducer({
柜台
message:messageReducer,
})
相反,它将变成
state.message.X

另外,请注意,如果您手工完成所有这些操作,您可能正在学习一种旧的Redux样式,并且可能正在遵循过时的文档。虽然这很好地展示了Redux的内部功能,但在现代Redux中,您不应该手工完成所有这些功能。请遵循以下官方Redux教程: