- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有两个计数器的简单计数器应用程序。一切正常,直到我尝试使用 combineReducers()
。
这是我的 reducer 文件:
const reducerCounter = (state={counterBarca:0,counterReal:0}, action) => {
console.log(action.type);
console.log(state);
switch (action.type) {
case 'INCREMENT_BARCA':
return { ...state, counterBarca: state.counterBarca + 1};
case 'INCREMENT_REAL':
return { ...state, counterReal: state.counterReal + 1 };
default:
return state;
}
};
export default reducerCounter;
这是我的计数器文件的一部分,其中有按钮。
.
.
.
const mapStateToProps = (state) => {
console.log('mapStateToProps', state.counterBarca);
return {
counterBarca: state.counterBarca,
counterReal: state.counterReal,
};
};
const mapDispatchToProps = (dispatch) => {
return {
onIncrementBarca: () => dispatch({ type: 'INCREMENT_BARCA' }),
onIncrementReal: () => dispatch({ type: 'INCREMENT_REAL' })
}
};
Counter = connect(mapStateToProps, mapDispatchToProps)(Counter);
export default Counter;
最后是我的 App.js,我在其中导入了显示按钮和计数器的 reducer 和组件:
import React, { Component } from 'react';
import { createStore } from 'redux';
import { Provider } from 'react-redux';
import reducer from './reducers/reducerCounter';
//components
import Counter from './components/Counter';
import './App.css';
const store = createStore(reducer);
.
.
.
当我尝试使用 combineReducers 并将其导入到我的 App.js 中时,计数器不起作用。当我console.log
我的计数器时,它显示未定义
。这是为什么 ?为什么当我使用combinereducers时计数器什么也没显示(那么它是未定义
)?
最佳答案
您正在使用mapStateToProps
错误的。像这样使用它:
const mapStateToProps = (state) => {
console.log('mapStateToProps', state.counterBarca);
return {
counterBarca: state.reducerCounter.counterBarca,
counterReal: state.reducerCounter.counterReal,
};
};
请注意这部分:
counterBarca: state.reducerCounter.counterBarca,
counterReal: state.reducerCounter.counterReal,
这里我用了reducerCounter
为您的全局状态中的 reducer 状态。使用它如何在您的 combineReducers
中打开功能。所以,您正在尝试获取 counterBarca
在您的全局state
但实际上它在其他地方,例如 state.reducerCounter.counterBarca
.
关于javascript - 简单的 Redux 应用程序,仅当我使用 mergeReducers 时 Counter 返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51808942/
哪个更快? Counter()+=Counter 或 Counter.update(Counter)? 为什么一个比另一个更快? 我尝试了一些简单的分析,但我认为这不足以最终证明 Counter+=C
这个问题在这里已经有了答案: ++someVariable vs. someVariable++ in JavaScript (7 个答案) 关闭 7 年前。 var counter = 0; va
下面是我正在使用的代码。如果我按 addQuanity m_label 设置显示一个而不是两个。如果我再次按 addWuantity,m_label 显示 2。按 minusQuantity 将 m_
这个问题已经有答案了: Does Java evaluate remaining conditions after boolean result is known? (7 个回答) 已关闭 6 年前。
因此,当我将计数器(from collections import Counter)打印到一个文件时,我总是得到它的文字 Counter ({'Foo': 12}) 有没有办法让计数器不那么字面地写出
我正在使用 CSS2.1 计数器将数字应用于棋盘上的人,以实现棋盘游戏,其棋盘图使用 HTML 和 CSS,方法如下: .ply {counter-increment:main;} .move:be
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: Is there a performance difference between i++ and ++i
我在尝试编译 Arduino 草图时遇到此错误。我看不出它认为我试图在没有参数的情况下调用 Counter::Counter 的地方。这是怎么回事? sketch/periodic_effect.cp
调用Get-Counter时使用-ComputerName参数和使用-Counter参数中的路径有区别吗? Get-Counter -Counter "\Memory\Available MB
姓名 Counter在 collections 中都定义了(作为一个类(class))和在 typing (作为通用类型名称)。不幸的是,它们略有不同。处理这个问题的推荐方法是什么? 相同点和不同点:
此代码不会给出任何失败,但如果您使用 counter++,则第一次迭代会失败。 parameters="one two three" counter=0 for option in $param
powershell 中的 get-counter/export-counter cmdlet 似乎以美国格式返回日期,这在这种情况下是相当不受欢迎的。我浏览了两个 get-help -full 页面
我有 2 个计数器(来自集合的计数器),我想将一个附加到另一个,而第一个计数器的重叠键将被忽略。喜欢 dic.update (python 词典更新) 例如: from collections imp
我想在我的项目中为 Provider ( ChangeNotifierProvider ) 创建一个单元测试,我的单元测试、小部件测试和集成测试成功通过 ✔️,所以现在我尝试(努力尝试🥵...)创建
我知道以下代码的复杂度为 O(log(n)): while (n>1) { counter++; n/=2; } 我知道在这里,n 在每次迭代中被分成两半,这意味着如果 n 是 100
Counter.getName() 方法与 Counter.getDisplayName() 方法有什么区别。我没有从文档中看到太多信息 http://hadoop.apache.org/docs/r
我有一个 python 文件,用于在 Hadoop(版本 2.6.0)上使用 mrjob 来计算二元语法,但我没有得到我希望的输出,而且我在破译终端中的输出时遇到了问题我哪里出错了。 我的代码: re
我看到带有错误消息的事件 ID 2001: It has taken too long to refresh the W3SVC counters , the stale counters are b
我对 React 完全陌生,我正在 YouTube 上学习教程(使用 MOSH 编程),但我遇到了这个错误,在找到类似问题后无法解决。 index.js import React from 'reac
我正在运行一个 hadoop 作业(来自 oozie),它有几个计数器和多输出。 我收到如下错误:org.apache.hadoop.mapreduce.counters.LimitExceededE
我是一名优秀的程序员,十分优秀!